? ? 一直好奇這個功能,昨天終于走通。這里記錄一下。 微信官方介紹
? ??在進行微信OAuth2.在進行微信OAuth2.0授權(quán)登錄接入之前,在微信開放平臺注冊開發(fā)者帳號,并擁有一個已審核通過的網(wǎng)站應(yīng)用,并獲得相應(yīng)的AppID和AppSecret,申請微 信登錄且通過審核后,可開始接入流程。
獲取二維碼
? ?官方文檔已經(jīng)寫明,開發(fā)者賬號審核要¥300,網(wǎng)站應(yīng)用在開放平臺的管理中心中即可創(chuàng)建,審核也很快。審核通過之后就拿到了AppID和AppSecret。剛開始搞成公眾號的AppId導致url一直獲取不到二維碼,提示scope或沒有權(quán)限。
? ?
另外網(wǎng)站應(yīng)用的域名也不要寫錯。寫錯了,改一次起碼要等第二天才能玩了。
??
https://open.weixin.qq.com/connect/qrconnect?appid=wxd96be4258f671daa&redirect_uri=http://www.warmwood.com/WeiXinAuth&response_type=code&scope=snsapi_login&state=3d6be0a4035d839573b04816624a415e#wechat_redirect?
? 參數(shù)正確之后就可以得到正確的二維碼。接下來就是獲取用戶信息并登錄。
實現(xiàn)登錄
? 這個時候我傻了一下,這怎么調(diào)試呢,二維碼只認網(wǎng)站應(yīng)用中設(shè)置好的域名,你的localhost玩不起來。難道打日志?還要到服務(wù)器上看日志記錄,這個過程有點糾結(jié)。在知乎上看到微信發(fā)布了一個Web開發(fā)者工具。下下來不知道怎么本地調(diào)試,沒有見到設(shè)置的地方(羞愧中...)。因為代碼不多,先用笨辦法實現(xiàn)了。這里用到了Senparc框架。
??????????code?=?Request.QueryString[?state?=?Request.QueryString[ ?????????????(code?!=? ????????????????Logger.Info(?+?+ ?????????????????url?=?????????????????????result?=?<OAuthAccessTokenResult>(,?url,?=?user?=); ?????????}
OAuthApi.GetUserInfo獲取到了相關(guān)的用戶信息,包含用戶的頭像,城市等,這樣方便我們創(chuàng)建或者查找到用戶,然后SignIn即可。但如果一個用戶用多種第三方登錄,這個是就需要判別這些號是同一個人,而不至于創(chuàng)建多個用戶。
獲取到的信息沒有郵箱和密碼,需要再做個頁面讓用戶設(shè)置郵箱和新密碼
公眾號登錄
微信內(nèi)登錄和網(wǎng)站掃碼不一樣。scope是用userinfo. 網(wǎng)站掃碼需要在開發(fā)平臺中創(chuàng)建網(wǎng)站應(yīng)用,這兩者的得到的openid不一樣,但支付的appid必須和商戶的id匹配,否則不能支付。?
??<a title="微信登錄" class="logwx" id="zhilogon" href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd6bc2f224b5ffbac&redirect_uri=http://www.xxx.com/weixinAuth&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"> ????????????<img src="/images/logwx.png" /> ????????</a>
如果沒有使用公眾號的appid,用創(chuàng)建的網(wǎng)站應(yīng)用的appid也是可以一鍵登錄的,區(qū)別就在于你的商戶號綁定的是哪個appid,這決定這個openid能不能用來公眾號內(nèi)的支付。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx0caae1edac6498a2&redirect_uri=http://www.xxx.com/weixinAuth&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect
公眾號和網(wǎng)頁應(yīng)用的登錄界面分別如下
?
界面略有不同。
Atas ialah kandungan terperinci 微信登錄的一些新得. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)