1 . 在企業微信配置請求的頁面寫入下面代碼
mounted() { //獲取微信請求的的Code let code = this.$route.query.code; if (code) { this.loginwx(code); } } async loginwx(code) {
//把Code 發送給后端做驗證 await this.$store.dispatch({ type: "app/loginwx", data: { authProvider: "EnterpriseWechat", // AbpZero Auth 第三方登錄的名稱自己定義(需要與后端定義的一致) providerKey: code, providerAccessCode: code } }); location.reload(); }
2.在app.ts增加 app/loginwx 動作
async loginwx(content: ActionContext<AppState, any>, payload: any) {
// ABP 已經實現了第三放登錄我們直接這個方法就可以 /api/TokenAuth/ExternalAuthenticate
let rep = await ajax.post("/api/TokenAuth/ExternalAuthenticate", payload.data);
var tokenExpireDate = payload.data.rememberMe ? (new Date(new Date().getTime() + 1000 * rep.data.result.expireInSeconds)) : undefined;
Util.abp.auth.setToken(rep.data.result.accessToken, tokenExpireDate);
Util.abp.utils.setCookieValue(appconst.authorization.encrptedAuthTokenName, rep.data.result.encryptedAccessToken, tokenExpireDate, Util.abp.appPath)
},
好的我們的前端就已經寫完了。