2.Vue 获取企业微信的Code并把Code发送的后台进行验证

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)
},

好的我们的前端就已经写完了。

原文地址:https://www.cnblogs.com/liaoyd/p/11506091.html