关于新浪微博单点登录的问题

地址:https://www.v2ex.com/t/398974

最近在学习 oauth2 协议,准备自己实现一套..

在分析新浪微博的单点登录的功能的时候发现一个问题.

我首先登录了微博,按理来说就会拥有微博的 session.

然后我在登录网易云音乐,然后选择使用微博登录,提示还是需要登录并授权

我已经登录了微博不能直接授权吗?

不知道有没有大佬来解释一下呢?

 登录  单点  微博  Oauth2
11 回复  |  直到 2017-10-19 16:49:27 +08:00
 
     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 登录比较熟而已

猜你喜欢

转载自blog.csdn.net/hwt0101/article/details/81032667
今日推荐