O Authing fornece uma maneira para que os desenvolvedores obtenham rapidamente as informações do usuário e concluam o login em um pequeno programa por meio do SDK. Através do SDK do Authing, a identificação do usuário fornecida pelo WeChat pode ser facilmente obtida, e um sistema de contas baseado em números de telefones celulares pode ser estabelecido rapidamente.
-
Cenário de aplicação: pequeno programa;
-
Visão geral: usado no miniaplicativo WeChat, a caixa de autorização do WeChat é exibida e o usuário pode obter as informações do usuário atual após a autorização;
- Verifique a documentação oficial do WeChat.
Etapa 1: crie um pequeno programa na plataforma pública WeChat
Acesse o guia da plataforma pública WeChat para criar um miniaplicativo WeChat. Você precisa registrar o ID do aplicativo e a chave secreta do aplicativo, que serão usados posteriormente. Se você precisar obter o número do celular do usuário, será necessário passar na autenticação do WeChat. E adicione core.authing.cn ao nome de domínio legal do WeChat.
Etapa 2: configurar o aplicativo de miniaplicativo WeChat no console do Authing
Na página de configuração de login social do console, encontre o aplicativo de miniaplicativo WeChat e preencha a seguinte configuração:
-
ID do aplicativo: ID do aplicativo Mini Program;
- Segredo do aplicativo: segredo do aplicativo do mini programa.
Após a conclusão da configuração, clique em "OK" para salvar as informações.
Etapa 3: comece a desenvolver o acesso
A partir da Biblioteca Básica do Mini Programa versão 2.2.1 ou superior e das Ferramentas de Desenvolvedor 1.02.1808300 ou superior, o Mini Programa suporta o uso de npm para instalar pacotes de terceiros. Para obter detalhes, consulte: Suporte npm | Documento aberto do WeChat .
Instale o pacote npm
Use npm:
npm install authing-wxapp-sdk
Ou use fio:
yarn add authing-wxapp-sdk
Clique na barra de menu nas ferramentas do desenvolvedor: Ferramentas - \> Build npm:
Marque a opção "Usar módulo npm":
Inicializar SDK
A inicialização do AuthenticationClient precisa passar no AppId (ID do aplicativo):
Você pode visualizar sua própria lista de aplicativos no aplicativo do console.
const { AuthenticationClient } = require("authing-wxapp-sdk");
const authing = new AuthenticationClient({
appId: "YOUR_APP_ID",
});
Invoque o método de login
const { code } = await wx.login()
// 无需用户授权
const user = await authing.loginByCode(code); // 成功登录,将 token 写入微信 Storage
// 登录之后可以进行此操作
await authing.updateProfile(
nickname: 'Bob'
)
Depois que o usuário fizer login, o SDK gravará o token do usuário no armazenamento do WeChat e as solicitações subsequentes carregarão automaticamente o token para acesso.
Os usuários subsequentes abrem o miniaplicativo novamente e, se o token do usuário estiver armazenado no armazenamento do miniaplicativo, a solicitação de acesso ao authing carregará automaticamente o token.
// 该请求可以成功,因为该用户出于登录状态。
await authing.updateProfile(
nickname: 'Mick'
)
Para obter detalhes, consulte o documento: Mini Program SDK ( https://docs.authing.cn/v2/reference/sdk-for-wxapp.html .
Próximo
Depois de obter as informações do usuário, você pode obter a credencial de identidade do usuário (o campo de token das informações do usuário). Você pode transportar esse token na solicitação subsequente enviada pelo cliente ao servidor back-end. Veja o axios como exemplo:
const axios = require("axios");
axios
.get({
url: "https://yourdomain.com/api/v1/your/resources",
headers: {
Authorization: "Bearer YOUR_JWT_TOKN",
},
})
.then((res) => {
// custom codes
});
A legitimidade deste token precisa ser verificada na interface de back-end para verificar a identidade do usuário. Para obter detalhes sobre o método de verificação, consulte o documento " Verificar as credenciais de identidade do usuário (token) ". Depois de identificar o usuário, você também pode precisar executar o gerenciamento de permissões no usuário para determinar se o usuário tem permissões de operação para esta API.