第三方登錄:微信登錄接入指南

網(wǎng)站應(yīng)用微信登錄是基于OAuth2.0協(xié)議標(biāo)準(zhǔn)構(gòu)建的微信OAuth2.0授權(quán)登錄系統(tǒng)。

申請(qǐng)應(yīng)用及配置

在微信開發(fā)平臺(tái)上(open.weixin.qq.com)申請(qǐng)網(wǎng)站應(yīng)用


image.png

申請(qǐng)后,除了基本的appid及appsecret,還需要設(shè)置授權(quán)回調(diào)域(很多人總是忘記設(shè)置這個(gè))

授權(quán)

完成上面的步驟后,接下來(lái)就進(jìn)入接入環(huán)節(jié)了

微信網(wǎng)站應(yīng)用接入文檔

每個(gè)環(huán)節(jié)基本都有需要注意的點(diǎn)

第一步:請(qǐng)求 CODE

https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
需要注意

  • redirect_uri 這里要對(duì)跳轉(zhuǎn)的uri進(jìn)行urlEncode處理
  • scope 的值 snsapi_login

第二步:通過(guò) code 獲取 access_token

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
這一步在后端進(jìn)行,請(qǐng)求參數(shù)沒什么要注意的, 但返回的信息很重要

{
.....,
openid,
unionid,
}

其中 unionid 在同一個(gè)開發(fā)主體下的不同應(yīng)用是一致的,如果開發(fā)主體需要旗下各應(yīng)用微信統(tǒng)一賬號(hào),可用其作為唯一的標(biāo)示

第三步:通過(guò) access_token 調(diào)用接口

調(diào)用的接口就根據(jù)業(yè)務(wù)需要了


image.png

實(shí)際上微信登錄后,一般請(qǐng)求以下接口:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

該接口會(huì)返回用戶在微信上的基本信息及 unionid, 可在數(shù)據(jù)表驗(yàn)證 unionid,根據(jù)是否存在,不存在則創(chuàng)建用戶,最終設(shè)置成自己網(wǎng)站的登陸態(tài)即可。

打通同一公司主體賬號(hào)

在微信開放平臺(tái)上,可以綁定同一個(gè)公司主體的公眾號(hào)、網(wǎng)站登錄、移動(dòng)端等各個(gè)應(yīng)用。 以A有限公司為例,在開放平臺(tái)完成各應(yīng)用綁定后,同一用戶在A公司下的各個(gè)應(yīng)用下都有一致的 unionid, 第三方賬號(hào)基于一致的unionid,保證了同一用戶在A公司不同的應(yīng)用下使用微信登錄,都是同一賬號(hào),提升了用戶體驗(yàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容