javascript - 前后端分離的項目中如何使用微信授權(quán)登陸?
問題描述
我的想法是點擊登錄按鈕之后進(jìn)入前端的一個登錄中轉(zhuǎn)頁面,這個中轉(zhuǎn)頁面的后端邏輯中通過code參數(shù),向https://api.weixin.qq.com/sns...這個API獲取到用于訪問該用戶信息的access_token的同時在數(shù)據(jù)庫里面保存一個access_token與微信用戶openid的對應(yīng)關(guān)系,并且向前端set一個值為該access_token的cookie。然后前端各種操作都帶上這個cookie,后端通過這個cookie找到對應(yīng)的openid,并且通過服務(wù)端腳本上的app_secret,access_token等參數(shù)進(jìn)行各種操作提交,然后完成操作。
我這個思路是否有什么不對的地方嘛?想問問各位在前后端分離項目中是如何做微信登陸授權(quán)的?
問題解答
回答1:第三方授權(quán)登陸的話。。。你得有自己的用戶系統(tǒng)吧。所以數(shù)據(jù)庫存的是openid,access_token和你用戶系統(tǒng)user_id的表。
前端的操作除非是需要訪問微信API的,需要帶上access_token,這時有兩種辦法,一種是把a(bǔ)ccess_token寫到頁面上去,還有一種是用戶請求你的服務(wù)器的api,然后你服務(wù)器從數(shù)據(jù)庫取出access_token然后請求微信api。通常時使用后者的,因為一般的授權(quán)登陸的接口除了需要access_token以外,還會需要比方說appid和secret_code之類的,而secret_code通常是不能暴露的。
用戶的各種操作可以使用token來驗證,這個token是你用戶系統(tǒng)生成的token,這個token可以放到cookie中。
相關(guān)文章:
1. phpstudy8.1沒集成mysql-front2. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題3. node.js - mongodb查找子對象的名稱為某個值的對象的方法4. docker鏡像push報錯5. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””6. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????7. 利用IPMI遠(yuǎn)程安裝centos報錯!8. html5 - datatables 加載不出來數(shù)據(jù)。9. 前端 - @media query 使用出現(xiàn)的問題?10. html5和Flash對抗是什么情況?

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