OAuth2.0 初识
Posted 白豆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAuth2.0 初识相关的知识,希望对你有一定的参考价值。
OAuth 2.0
授权登录,第三方登录非常常见。比如登录掘金的时候可以使用qq直接登录。
这其中就是用了OAuth2.0协议。
我们来了解最常使用的2种方式
授权码形式
我们以使用qq登录CSDN社区来作为例子
-
当我们点击第三方授权登录按钮经常跳转到一个新的界面,
https://graph.qq.com/oauth2.0/show? which=Login& display=pc& client_id=100270989& response_type=code& redirect_uri=https%3A%2F%2Fpassport.csdn.net%2Faccount%2Flogin%3FpcAuthType%3Dqq%26state%3Dtest
观察这个第三方登录的网址发现有这些标志信息,动作发起者设备类型,动作类型是登录,client_id是csdn实现跟qq申请的csdn的标识与其一块被申请的还有一个secret,就相当于csdn在qq申请了一个账号userName就是clien_id,password就是secret,response_type = code说明它使用的是授权码的形式,redirect_uri是用户授权或者拒绝以后跳转的目标网页。如果用户授权了就会将授权码返还给csdn的网页,注意我们现在是在qq的页面。
当用户授权后将授权码返还给CSDN网页,CSDN后端会将拿到的授权码以及,自己申请的cliend_id,secret一起去向qq申请令牌,一般qq确认以后会返还给csdn后端一个access_token以及一个refresh_token,access_token用来向QQ请求数据,refresh_token用来刷新access_token。
密码式
如果用户比较信任csdn可以直接输入自己的qq账号密码然后,csdn拿着qq的账户密码去向qq请求令牌。
以上是关于OAuth2.0 初识的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识OpenGL 片段着色器(Fragment Shader)