框架建设收集

秒懂!第三方登录 OAuth2.0!

2019-04-09  本文已影响66人  leebin17

OAuth是什么?

OAuth2.0 最常用的是授权码模式(理解这个就可以了)

什么是授权码模式?

大概就是:
用户在公司B网站页面上跳转到“权威”公司A的网站登录。
登录成功后,公司A给用户一个密码Code,浏览器自动转手密码Code传递给公司B的网站。
公司B的网站拿着密码Code从A公司获得另外一个私密令牌Token。
公司B又拿着令牌Token和“自身文件”从A公司获得该用户的信息。
公司B返回页面给用户,提示用户登录成功。
以上叙述繁琐,看下图解释。

不同视角来理解一下?

1.用户的视角

2019-04-08 23 49 08.png

总结:没有仔细观察,跳转基本无感

2.上帝的视角

2019-04-08-23-17-38.png

总结:每次跳转都是必要的

3.程序员的视角

有需要的话,待续呗

Q&A:

为什么需要code又需要token?

code用户可以得到的呀,也就是在暴露在外面了。
而token只有我站跟开放平台才知道,而且授权不仅仅需要token还需要我站在开放平台注册时获得的app_id和app_secret一起提交给开放平台才可以。
总结:
code不是敏感信息。
token比较敏感。
app_id和app_secret最敏感。

这上述两家公司如何识别呢?

上述A、B公司有协议,A授权B公司,他们能相互通信。
(如:B公司去A公司平台注册了,获得了一些资源:如app_id、app_secrect、logo、callback链接等)

备注:

以上总结只是其中比较常用的方式中的一种。
如有不同意见,建议,请分享指点。

参考文章:

理解OAuth 2.0
一张图搞定OAuth2.0
上一篇下一篇

猜你喜欢

热点阅读