Authing proporciona una forma para que los desarrolladores obtengan rápidamente información del usuario y completen el inicio de sesión en un pequeño programa a través del SDK. A través del SDK de Authing, la identificación de usuario proporcionada por WeChat se puede obtener fácilmente y se puede establecer rápidamente un sistema de cuenta basado en números de teléfono móvil.
-
Escenario de aplicación: programa pequeño;
-
Descripción general: utilizado en el subprograma de WeChat, aparece el cuadro de autorización de WeChat y el usuario puede obtener la información del usuario actual después de la autorización;
- Consulta la documentación oficial de WeChat.
Paso 1: crea un pequeño programa en la plataforma pública de WeChat
Vaya a la guía de la plataforma pública de WeChat para crear un subprograma de WeChat. Debe registrar el ID de la aplicación y el secreto de la aplicación, que se utilizarán más adelante. Si necesita obtener el número de teléfono móvil del usuario, debe pasar la autenticación de WeChat. Y agregue core.authing.cn al nombre de dominio legal de la solicitud de WeChat.
Paso 2: Configure la aplicación del subprograma WeChat en la consola de Authing
En la página de configuración de inicio de sesión social de la consola, busque la aplicación del subprograma WeChat y complete la siguiente configuración:
-
ID de la aplicación: ID de la aplicación del Mini Programa;
- App Secret: Mini programa secreto de la aplicación.
Una vez completada la configuración, haga clic en "Aceptar" para guardar la información.
Paso 3: comience a desarrollar el acceso
A partir de Mini Program Basic Library versión 2.2.1 o superior, y Developer Tools 1.02.1808300 o superior, el Mini Program admite el uso de npm para instalar paquetes de terceros. Para obtener más información, consulte: npm Support | WeChat Open Document .
Instalar el paquete npm
Utilice npm:
npm install authing-wxapp-sdk
O use hilo:
yarn add authing-wxapp-sdk
Haga clic en la barra de menú en las herramientas de desarrollo: Herramientas - \> Compilar npm:
Marque la opción "Usar módulo npm":
Inicializar SDK
La inicialización de AuthenticationClient debe pasar AppId (ID de la aplicación):
Puede ver su propia lista de aplicaciones en la aplicación de la consola.
const { AuthenticationClient } = require("authing-wxapp-sdk");
const authing = new AuthenticationClient({
appId: "YOUR_APP_ID",
});
Invocar el método de inicio de sesión
const { code } = await wx.login()
// 无需用户授权
const user = await authing.loginByCode(code); // 成功登录,将 token 写入微信 Storage
// 登录之后可以进行此操作
await authing.updateProfile(
nickname: 'Bob'
)
Una vez que el usuario inicia sesión, el SDK escribirá el token del usuario en el almacenamiento de WeChat, y las solicitudes posteriores llevarán automáticamente el token para acceder.
Los usuarios posteriores abren el subprograma nuevamente, y si el token del usuario está almacenado en el almacenamiento del subprograma, la solicitud para acceder a la autenticación llevará automáticamente el token.
// 该请求可以成功,因为该用户出于登录状态。
await authing.updateProfile(
nickname: 'Mick'
)
Para obtener más información, consulte el documento: Mini Program SDK ( https://docs.authing.cn/v2/reference/sdk-for-wxapp.html .
próximo
Después de obtener la información del usuario, puede obtener la credencial de identidad del usuario (el campo token de la información del usuario). Puede llevar este token en la solicitud posterior enviada por el cliente al servidor back-end. Tome axios como ejemplo:
const axios = require("axios");
axios
.get({
url: "https://yourdomain.com/api/v1/your/resources",
headers: {
Authorization: "Bearer YOUR_JWT_TOKN",
},
})
.then((res) => {
// custom codes
});
La legitimidad de este token debe verificarse en la interfaz de back-end para verificar la identidad del usuario. Para obtener detalles sobre el método de verificación, consulte el documento " Verificar las credenciales de identidad del usuario (token) ". Después de identificar al usuario, es posible que también deba realizar la administración de permisos en el usuario para determinar si el usuario tiene permisos operativos para esta API.