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

2017-10-19 15:59:23 +08:00
 zhouyou457

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

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

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

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

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

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

3463 次点击
所在节点    全球工单系统
11 条回复
TimePPT
2017-10-19 16:30:29 +08:00
首先,要确定一件事:网易云音乐的微博登录是什么场景下弹出的。是同一浏览器的 web 页,还是客户端的 webview ?

其次,这种问题一般去看下官方文档就有答案了。

http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6
p2pCoder
2017-10-19 16:32:46 +08:00
你登录的站点和微博的 api 授权站点是不同的站点,是不会 session 共享的
如果设计成共享的,那么就可以使用很多方式来 盗取 可以使用新浪微博 oauth2 登录的第三方网站的账号了。
TimePPT
2017-10-19 16:36:33 +08:00

另外说下,登录时如果引入强制登录的参数,会在每次授权时必须让用户去填用户密码


强制登录

授权页会默认读取当前用户的微博登录状态,如果你想让用户重新登录,请在调用 authorize 接口时传入参数:forcelogin=true,默认不填写此参数相当于 forcelogin=false
zhouyou457
2017-10-19 16:37:16 +08:00
LinJunzhu
2017-10-19 16:37:30 +08:00
歪个题, 单点登录 SSO 跟 oauth2 是两回事
TimePPT
2017-10-19 16:38:11 +08:00
@zhouyou457 看你 url,再看我上面那条 forcelogin=true
zhouyou457
2017-10-19 16:41:17 +08:00
@TimePPT 嗯,知道了,谢谢,这应该是网易云音乐设置必须重新登录的吧.
TimePPT
2017-10-19 16:43:43 +08:00
@zhouyou457 是的,这样便利性会低,但安全性会高一些,特别是多人共用电脑,或频繁更换浏览器微博账号的用户比较合适。
TimePPT
2017-10-19 16:46:58 +08:00
@zhouyou457 所以整个过程是
曾经向网易云授权过微博登录——>重新使用微博登录网易云——>发现 token 过期——>跳转至授权页——>授权参数带有强制登录参数——>登录界面
zhouyou457
2017-10-19 16:47:37 +08:00
@TimePPT 谢谢你如此认真的回答.
TimePPT
2017-10-19 16:49:27 +08:00
@zhouyou457 客气,因为工作原因,主持过多家公司的登录注册优化,QQ 微信 微博 三者的 Oath 登录比较熟而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

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

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX