溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄

發(fā)布時間:2021-11-23 22:04:41 來源:億速云 閱讀:176 作者:柒染 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

Authing 通過 SDK 為開發(fā)者提供了一種快速在小程序中獲取用戶信息并完成登錄的方法。通過 Authing 的 SDK 可以方便地獲取微信提供的用戶身份標(biāo)識,快速建立以手機(jī)號碼為基礎(chǔ)的賬號體系。

  • 應(yīng)用場景:小程序;

  • 概述:在微信小程序內(nèi)使用,彈出微信授權(quán)框,用戶授權(quán)之后可以獲取當(dāng)前用戶的信息;

  • 查看微信官方文檔。

如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄

第一步:在微信公眾平臺創(chuàng)建一個小程序

請前往微信公眾平臺指引創(chuàng)建一個微信小程序,你需要記錄下該應(yīng)用的App ID和App Secret,后面需要用到。如果你需要獲取用戶手機(jī)號,需要通過微信認(rèn)證。并將 core.authing.cn 加入微信的 request 合法域名。

如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄

第二步:在 Authing 控制臺配置微信小程序應(yīng)用

在控制臺的社會化登錄配置頁面,找到微信小程序應(yīng)用,填入以下配置:

  • App ID: 小程序應(yīng)用 ID;

  • App Secret: 小程序應(yīng)用密鑰。

配置完成后請點(diǎn)擊「確定」保存信息。

第三步:開始開發(fā)接入

從小程序基礎(chǔ)庫版本 2.2.1 或以上、及開發(fā)者工具 1.02.1808300 或以上開始,小程序支持使用 npm 安裝第三方包,詳情請見:npm 支持 | 微信開放文檔。

安裝 npm 包

使用 npm:

npm install authing-wxapp-sdk

或者使用 yarn:

yarn add authing-wxapp-sdk

點(diǎn)擊開發(fā)者工具中的菜單欄:工具 --> 構(gòu)建 npm:

如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄

勾選「使用 npm 模塊」選項(xiàng):

如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄

初始化 SDK

AuthenticationClient 初始化需要傳入AppId (應(yīng)用 ID):

你可以在控制臺的應(yīng)用中查看自己的應(yīng)用列表。

const { AuthenticationClient } = require("authing-wxapp-sdk");

const authing = new AuthenticationClient({
  appId: "YOUR_APP_ID",
});

調(diào)用登錄方法

const { code } = await wx.login()
// 無需用戶授權(quán)
const user = await authing.loginByCode(code); // 成功登錄,將 token 寫入微信 Storage

// 登錄之后可以進(jìn)行此操作
await authing.updateProfile(
  nickname: 'Bob'
)

在用戶完成登錄之后,SDK 會將用戶的 token 寫入到微信的 Storage 中,后續(xù)請求會自動攜帶 token 訪問。

如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄

后續(xù)用戶再次打開小程序,如果小程序的 Storage 中保存有用戶的 token,訪問 authing 的請求將會自動帶上該 token。

// 該請求可以成功,因?yàn)樵撚脩舫鲇诘卿洜顟B(tài)。
await authing.updateProfile(
  nickname: 'Mick'
)

接下來

獲取到用戶信息之后,你可以得到用戶的身份憑證(用戶信息的 token 字段),你可以在客戶端后續(xù)發(fā)送給后端服務(wù)器的請求中攜帶上此 token, 以 axios 為例:

const axios = require("axios");
axios
  .get({
    url: "https://yourdomain.com/api/v1/your/resources",
    headers: {
      Authorization: "Bearer YOUR_JWT_TOKN",
    },
  })
  .then((res) => {
    // custom codes
  });

在后端接口中需要檢驗(yàn)此 token 的合法性,來驗(yàn)證用戶的身份,驗(yàn)證方式詳情請見文檔「驗(yàn)證用戶身份憑證(token)」。識別用戶身份之后,你可能還需要對該用戶進(jìn)行權(quán)限管理,以判斷用戶是否對此 API 具備操作權(quán)限。

關(guān)于如何用代碼實(shí)現(xiàn)在小程序中接入微信登錄就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI