小程序扫码登录

扫描小程序二维码并使用小程序「小登录」进行认证,使用「小登录」将提高 80% 的注册转化率并节省 100% 的短信成本。

小程序扫码登录指使用 Authing 官方开发的小程序「小登录」执行扫码登录,使用 JavaScript SDK 可以快速接入,除此之外我们还提供了 HTTP 接口

点击此处体验小程序扫码登录

扫码示例

扫码登录示例代码

请参考:https://github.com/Authing/qrcode-sample

接入流程

配置小程序信息

在控制台中依次点击第三方登录 -> 社会化登录,然后找到微信小程序扫码登录,如下图所示:

打开开关后将看到如下的弹出框:

小程序扫码登录有两种配置方式:

  1. 上传小程序 Logo,上传完毕后 Authing 将生成一张带有该 Logo 的二维码,开发者完成接入后,用户扫描二维码即可登录;

  2. 注册一个小程序,然后将小程序的 appId 和 appSecret 配置到 Authing 平台中,开发者完成接入后,用户扫描二维码即可登录;

默认为第一种方式,第二种方式如下图所示:

相关参数解释如下:

Client ID

Client Secret

Redirect

小程序的 App ID

小程序的 App Secret

成功或失败后的回调 URL,你的业务地址。

这是必填选项,若不填写,会导致无法登录,若你还没有回调地址,请填写「#」号

在弹出框中依次填入小程序的 AppID、App Secret 和回调地址并点击「确定」即可完成配置。

我该选择哪种配置方式?

  1. 如果你没有自己的小程序,可以直接上传 Logo 完成配置;

  2. 如果你有自己的小程序,建议点击本页中的「配置自己的小程序信息」接入;

  3. 若同时配置了小程序 Logo 和自己的小程序信息,会优先使用开发者「自己的小程序信息」。若想取消使用「自己的小程序信息」,请清空相关配置。

使用 SDK for Web 初始化扫码界面

安装 authing-js-sdk

你也可以直接通过 CDN 引入:

更多 SDK 的使用方法请参考:

SDK for JavaScript

安装完成后,请新建一个 Web 项目,然后复制以下代码:

运行成功后将生成如下图片:

在线体验方法:

  1. 选择「扫码登录」

  2. 打开微信扫描二维码即可体验

当扫码成功后将跳转到回调 URL 中,链接例如:

开发者可自行获取 URL 中的参数以获取 userInfo,获取方式见获取用户数据

若不想在扫码登录后发生页面跳转,可以配置 redirect 参数为 false,然后在 onSuccess 函数中获取用户数据后执行相应业务,如:

若你想在后端验证 Token 合法性,请参考:验证 Token 合法性

示例代码请参考:https://github.com/Authing/qrcode-sample

完整参数说明

若想动态修改提示信息,请使用以下四个方法:

验证 Token 合法性请参考:验证 Token 合法性

使用 Guard 初始化小程序扫码登录

Guard 是 Authing 提供的快速生成登录表单的 SDK,若开发者在后台开启了小程序扫码登录,那么 Guard 就会自动生成小程序扫码登录的界面,不需要再编写代码,你可以点击此处体验 Guard

Guard 的使用方法请参考:

Guard for WebGuard for Mobile

调用 HTTP API 接入小程序扫码认证

HTTP 接口适用于非 JavaScript 平台,JavaScript 开发者可以略过此节,直接使用 SDK。

扫码登录需要客户端做两个步骤:

  1. 生成二维码

  2. 客户端轮询查询扫码状态

还有一个步骤是用户搜索身份管家小程序进行扫码登录,这块已由 Authing 处理。

生成二维码

GET https://oauth.authing.cn/oauth/wxapp/qrcode/<Authing 应用 ID>?random=RANDOM_STRING

此方法将根据开发者在 Authing 控制台配置的小程序信息生成带有开发者在微信后台配置的 Logo 的小程序二维码。 示例 URL: https://oauth.authing.cn/oauth/wxapp/qrcode/5c344f102e450b000170190a?random=UaJe6j5S47pRTLo7

Path Parameters

Name
Type
Description

random

string

客户端随机生成的字符串

  • 返回数据中 data 中的 QRCode 即二维码地址,可直接先客户端显示。

  • 若处理成功,code 为 200,非 200 都为失败。

轮询查询扫码状态

POST https://oauth.authing.cn/oauth/wxapp/confirm/qr?random=RANDOM_STRING

  • redirect 为用户在 Authing 控制台中配置的回调地址,开发者若有需要可自行回调到此地址

  • 如果用户已扫码,则 code 为 200,若为非 200,则代表用户未扫码或扫码失败

私有部署小程序后的使用方法

本章节针对将小程序部署到自己主体下的用户,请点击以下链接查看:

接入私有化小程序

接下来你可能还需要

SDK for JavaScript

Last updated

Was this helpful?