五行代码搞定微信授权登录

Authing 通过 SDK 为开发者提供了一种快速在微信网页中获取用户信息并完成登录的方法。如果用户在微信客户端中访问第三方网页、公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。

  • 应用场景:微信网页、公众号;
  • 概述:在微信 APP 内的网页内弹出微信授权框,用户授权之后可以获取当前用户的信息。

第一步:在微信公众平台创建一个微信服务号

请前往 微信公众平台 指引创建一个微信服务号。

你需要记录下该应用的 开发者 ID(App ID)和开发者密钥(App Secret) ,后面需要用到。在微信公众平台后台的 设置 → 公众号设置 → 功能设置 页面设置 网页授权范围名 为 core.authing.cn。在此过程中你需要检验域名的合法性,详情请见下一步。

第二步:在 Authing 控制台配置微信网页授权应用

在控制台的社会化登录配置页面,找到 微信网页授权登录 应用,填入以下配置:

配置完成后请点击「确定」保存信息。

第三步:开始开发接入

使用 SDK 接入

首先使用 CDN 引入 authing-wxmp-sdk:

初始化 SDK

使用用户池 ID 初始化 SDK:

发起微信授权

调用 getAuthorizationUrl 方法获取微信授权登录链接,修改 window.location 跳转到微信登录授权页面:

获取用户信息

跳回业务回调链接之后通过 getUserInfo 方法获取用户信息:

接下来

获取到用户信息之后,你可以得到用户的身份凭证(用户信息的 token 字段),你可以在客户端后续发送给后端服务器的请求中携带上此 token, 以 axios 为例:

在后端接口中需要检验此 token 的合法性,来验证用户的身份,验证方式详情请见 验证用户身份凭证(token) 。识别用户身份之后,你可能还需要 对该用户进行权限管理 ,以判断用户是否对此 API 具备操作权限。

使用内嵌登录组件接入

以 React 为例。

安装 @authing/react-ui-components

初始化

使用

初始化完成后在微信中打开页面会见到如下按钮,点击即可进行授权,授权完成后会跳转到应用回调链接,且可使用 AuthenticationClient 获取用户信息。

如果你喜欢我们的内容,欢迎关注公众号「 Authing 身份云 」和访问我们的 博客 ,更多有趣的内容等你来看~