javascript - 微信第三方登錄的問題
問題描述
PC端的應(yīng)用,可以和WAP端的應(yīng)用共用同一個(gè)微信的APPID嗎,可以的話那要怎么樣才能設(shè)置不同的回調(diào)
問題解答
回答1:可以。回調(diào)就設(shè)置你的服務(wù)器地址即可,這個(gè)服務(wù)器處理微信傳給你的數(shù)據(jù)即可。通常有兩種做法
一 不用回調(diào):
微信提供給客戶端的SDK,客戶端調(diào)用SDK,會(huì)換起本地的微信app,然后用戶授權(quán)登錄,再回到客戶端,客戶端會(huì)拿到微信sdk返回的token和openid。然后把這個(gè)token傳給你的服務(wù)端,服務(wù)端再使用這個(gè)token請(qǐng)求微信的接口驗(yàn)證token是否合法。比如該token請(qǐng)求返回的openid和客戶端所傳的是否一致。如果token合法,服務(wù)端可以記錄相關(guān)信息,然后發(fā)放給客戶端你們自己用的token或者cookie,表示客戶端已經(jīng)登錄。
二 使用回調(diào):
客戶端請(qǐng)求你們的服務(wù),你們的服務(wù)請(qǐng)求微信oauth2的授權(quán)地址,微信會(huì)引導(dǎo)重定向到一個(gè)h5的網(wǎng)頁,用戶授權(quán)。然后微信會(huì)給你的回調(diào)地址發(fā)送一些數(shù)據(jù),例如code。你的服務(wù)器再拿著這些code和相關(guān)的key再請(qǐng)求微信的接口獲取token和openid,服務(wù)器記錄這個(gè)openid相關(guān)信息。然后就可以給你的客戶端授權(quán),表示登錄。
相關(guān)文章:
1. angular.js - angular內(nèi)容過長展開收起效果2. dockerfile - [docker build image失敗- npm install]3. golang - 用IDE看docker源碼時(shí)的小問題4. docker-compose中volumes的問題5. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!6. mac里的docker如何命令行開啟呢?7. nignx - docker內(nèi)nginx 80端口被占用8. docker內(nèi)創(chuàng)建jenkins訪問另一個(gè)容器下的服務(wù)器問題9. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題10. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?

網(wǎng)公網(wǎng)安備