地址:https://www.v2ex.com/t/398974
最近在學習 oauth2 協議,準備自己實現一套..
在分析新浪微博的單點登錄的功能的時候發現一個問題.
我首先登錄了微博,按理來說就會擁有微博的 session.
然後我在登錄網易雲音樂,然後選擇使用微博登錄,提示還是需要登錄並授權
我已經登錄了微博不能直接授權嗎?
不知道有沒有大佬來解釋一下呢?
1 TimePPT 266 天前首先,要確定一件事:網易雲音樂的微博登錄是什麼場景下彈出的。是同一瀏覽器的 web 頁,還是客戶端的 webview ? 其次,這種問題一般去看下官方文檔就有答案了。 http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6 |
2 p2pCoder 266 天前你登錄的站點和微博的 api 授權站點是不同的站點,是不會 session 共享的 如果設計成共享的,那麼就可以使用很多方式來 盜取 可以使用新浪微博 oauth2 登錄的第三方網站的賬號了。 |
3 TimePPT 266 天前另外說下,登錄時如果引入強制登錄的參數,會在每次授權時必須讓用戶去填用戶密碼 強制登錄 授權頁會默認讀取當前用戶的微博登錄狀態,如果你想讓用戶重新登錄,請在調用 authorize 接口時傳入參數:forcelogin=true,默認不填寫此參數相當於 forcelogin=false |
4 zhouyou457 266 天前@TimePPT 是網頁版的網易雲,點擊微博登錄直接跳轉到 https://api.weibo.com/oauth2/authorize?client_id=301575942&response_type=code&redirect_uri=http://music.163.com/back/weibo&forcelogin=true&scope=friendships_groups_read,statuses_to_me_read,follow_app_official_microblog&state=xVTnXJNVSK 而且在微博->管理中心->我的應用 裏面可以看見我已經授權了網易雲音樂 |
5 LinJunzhu 266 天前歪個題, 單點登錄 SSO 跟 oauth2 是兩回事 |
6 TimePPT 266 天前 ♥ 1@zhouyou457 看你 url,再看我上面那條 forcelogin=true |
7 zhouyou457 266 天前@TimePPT 嗯,知道了,謝謝,這應該是網易雲音樂設置必須重新登錄的吧. |
8 TimePPT 266 天前@zhouyou457 是的,這樣便利性會低,但安全性會高一些,特別是多人共用電腦,或頻繁更換瀏覽器微博賬號的用戶比較合適。 |
9 TimePPT 266 天前@zhouyou457 所以整個過程是 曾經向網易雲授權過微博登錄——>重新使用微博登錄網易雲——>發現 token 過期——>跳轉至授權頁——>授權參數帶有強制登錄參數——>登錄界面 |
10 zhouyou457 266 天前@TimePPT 謝謝你如此認真的回答. |
11 TimePPT 266 天前@zhouyou457 客氣,因爲工作原因,主持過多家公司的登錄註冊優化,QQ 微信 微博 三者的 Oath 登錄比較熟而已 |