企业微信(第三方应用)网页授权登录
此登录方式适用于在微信浏览器或企业微信浏览器内使用,不适用于普通浏览器网页登录。
准备工作
你一共需要准备以下内容:
在 Authing 控制台填入企业微信网页信息

在 Authing 控制台找到「企业微信网页授权登录」
按照下图的指引找到「企业微信网页授权登录」配置。

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

获取企业微信应用配置
你需要提供应用的 SuiteID、应用的 Secret 和微信企业的 CorpID:
获取 SuiteID 和 Secret :在 应用管理 - 网页应用 - 应用详情 处可以获取到。

获取 CorpID :在 服务商信息 - 基本信息 处可以获取到

之后请将这三个数据填入上文提到的表单。
添加 IP 白名单
请将下面这几个 IP 添加到白名单:
你可在 服务商信息 - 基本信息 页面进行配置。

配置可信域名
将 core.authing.cn 设置为可信域名。

点击「检验可信域名归属」,在弹出的 Modal 中,你需要下载一个 Txt 文件:

并将 Txt 文件名和 Txt 文件内容填入上文显示的表单。
Txt Filename 一般为 WW_verify_ 开头,请注意保留 .txt 文件后缀!
Txt Content: 文件内容,一般为 10-20 位随机字符串。

点击「确定」按钮:

你应该可以看到可信域名验证成功了:

配置企业微信回调链接
一共配置两个回调链接:

数据回调 URL。链接格式为:
假设你的用户池 ID 为 5e4cdd055df3df65dc58b97d,则数据回调链接为:
指令回调 URL。链接格式为:
假设你的用户池 ID 为 5e4cdd055df3df65dc58b97d,则指令回调链接为:
请将 Token 和 EncodingAESKey 填入上文提到的表单,之后点击申请检验:

你应该能够获取到成功提示。
配置业务回调链接 Redirect URL
业务回调链接和企业微信内配置的回调链接不一样,这是 Authing 将用户信息回调给你的回调链接。
如果你使用 Guard,可以留空填 「#」。
如果你需要手动接入企业微信扫码登录,需要填写你的业务回调链接,用户授权之后,Authing 将会把用户信息回调给你。
开始接入
拼接网页授权链接
GET https://core.authing.cn/oauth/wechatwork/:userPoolId/authorization-url
获取企业微信网页授权链接,此链接需要在企业微信浏览器访问!
Path Parameters
userPoolId
string
用户池 ID
比如你的用户池 ID 为 5e4cdd055df3df65dc58b97d,则你需要引导你的用户跳转到https://core.authing.cn/oauth/wechatwork/5e4cdd055df3df65dc58b97d/authorization-url
处理 Authing 回调数据
Authing 为你隐藏了和企业微信服务器的交互过程,你可以直接获取到用户信息。
上一步用户同意授权之后,会先跳转到 Authing 服务器,之后 Authing 会携带用户信息跳转到开发者在 Authing 控制台中配置的业务回调链接,并附带以下 Get 请求参数:
参数
说明
code
错误或成功代码,200 为成功,非 200 为失败
message
成功或错误信息
data
userInfo 用户信息,若 code 为非 200 不返回此参数
bindOAuth
是否是登录操作, 无此参数或此参数为0则为登录, 此参数为1则为绑定账号操作, 此时可使用data参数中的数据绑定OAuth
部分浏览器和 Web Server 在 URL 过长的情况下有可能出现 404,如 ASP.NET,这个时候需要修改一下配置,具体方式请见这个 StackOverflow 回答。
data (用户信息)示例:
以下是使用 JavaScript 从 URL 参数中获取用户数据的代码:
完成接入
恭喜你,此时已经接入了企业微信网页授权登录。获取到用户信息之后,你可以得到登录凭证 token,你可以在后续的 API 请求中携带上此 token, 然后在后端接口中根据此 token 区分不同用户,详情请见验证 token。
Last updated
Was this helpful?