企业微信(企业内部)扫码登录

准备工作

你一共需要准备以下内容:

  1. 注册 Authing 开发者账号

    • 在创建账号的引导过程中,你会得到一个二级域名,在后面会用到。

  2. 在 Authing 控制台填入企业微信相关信息

在 Authing 控制台找到「企业微信(内部应用)扫码登录」

之后你需要将相关配置填入下面的表单:

获取企业ID(CorpID)

我的企业 - 企业信息 页面可以获取到。

获取 AgentID 和 Secret

应用管理 - 应用管理 页面的应用详情可以获取到。

启用企业微信授权登录

在应用详情页,点击设置企业微信授权登录:

在新打开的页面,设置授权回调域为 core.authing.cn 。

添加网页授权信任域名

在应用详情页,设置网页授权及JS-SDK域名,填写你的 OIDC 应用二级域名,如 yourapp.authing.cn 。

配置回调链接 Redirect URL

如果你使用 Guard,可以留空填 「#」。

如果你需要手动接入企业微信扫码登录,需要填写你的业务回调链接,用户授权之后,Authing 将会把用户信息回调给你。

开始接入

拼接网页授权链接

GET https://core.authing.cn/oauth/wechatwork/:userPoolId/sso-qrconnect-url

获取企业微信扫码授权登录链接,此链接需要在浏览器内访问!

Path Parameters

Name
Type
Description

userPoolId

string

用户池 ID

比如你的用户池 ID 为 5e4cdd055df3df65dc58b97d,则你需要引导你的用户跳转到https://core.authing.cn/oauth/wechatwork/5e4cdd055df3df65dc58b97d/sso-qrconnect-url

你可以在 Web 页面上放置一个可点击的按钮或 Logo 链接到上面的链接以便用户可以点击登录。

在浏览器中访问上述链接,你应该成功可以跳转企业微信扫码登录页面:

处理 Authing 回调数据

上一步用户同意授权之后,会先跳转到 Authing 服务器,之后 Authing 会携带用户信息跳转到开发者在 Authing 控制台中配置的业务回调链接,并附带以下 Get 请求参数:

参数

说明

code

错误或成功代码,200 为成功,非 200 为失败

message

成功或错误信息

data

userInfo 用户信息,若 code 为非 200 不返回此参数

bindOAuth

是否是登录操作, 无此参数或此参数为0则为登录, 此参数为1则为绑定账号操作, 此时可使用data参数中的数据绑定OAuth

Authing 回调给你的用户信息是经过加工过的,会自动注册到你的用户池,会和企业微信返回的原始数据不一样。

data (用户信息)示例:

以下是使用 JavaScript 从 URL 参数中获取用户数据的代码:

完成接入

恭喜你,此时已经接入了企业微信扫码登录。获取到用户信息之后,你可以得到登录凭证 token,你可以在后续的 API 请求中携带上此 token, 然后在后端接口中根据此 token 区分不同用户,详情请见验证 token

Last updated

Was this helpful?