微信 PC 扫码登录

准备工作

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

  1. 申请一个微信网页应用

  2. 在 Authing 控制台填入微信网页应用信息

申请微信网页应用

按照微信官方文档指引注册成功之后,你可以看到你的微信网页应用的 Client ID(App ID) 和 Client Secret(App Secret),并请确保该应用获取到了微信登录的权限。

请将授权回调域设置为 oauth.authing.cn

在 Authing 控制台填入微信网页应用信息

在微信开放平台创建完微信网页应用后请按照下图指示在 Authing 控制台找到微信电脑网页版配置:

在此需要填入你的微信网页应用信息:

  • Client ID: 微信网页应用的 App ID

  • Client Secret: 微信网页应用的 App Secret

  • Redirect:这是你的业务回调域名,非 Authing 的链接。比如你的网站域名是 https://example.com , 处理 Authing 回调请求的 url 为 /auth/wechat/callback , 那么你应该填写为 https://example.com/auth/wechat/callback。如果你需要在 OIDC 或 OAuth 应用中单独配置回调链接,此处地址可填入: #。

开始接入

生成微信授权链接

你可以调用 Authing 提供的接口,生成供用户跳转到微信扫码登录页面的链接。

GET https://oauth.authing.cn/oauth/wechatpc/url/:userPoolId

生成微信授权链接。

Path Parameters

Name
Type
Description

userPoolId

string

你的用户池 ID

示例:Authing 官方用户池的请求生成微信授权链接的 URL 为:https://oauth.authing.cn/oauth/wechatpc/url/59f86b4832eb28071bdd9214

会得到以下响应数据:

那么此次请求生成的微信授权链接为:https://open.weixin.qq.com/connect/qrconnect?appid=wxb127de9815c47251&redirect_uri=https%3A%2F%2Foauth.authing.cn%2Foauth%2Fwechat%2Fredirect&response_type=code&scope=snsapi_login&state=59f86b4832eb28071bdd9214-wechatpc#wechat_redirect

访问此页面你应该可以看到类似以下页面:

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

处理 Authing 回调请求

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

参数

说明

code

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

message

成功或错误信息

data

userInfo,若 code 为非 200 不返回此参数

bindOAuth

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

data 数据示例:

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

完成接入

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

Last updated

Was this helpful?