OAuth2.0相关知识

时间:2021-01-28 00:32:46

自己总结的可能有误差。

大致分为6个步骤:

1.注册相关应用,获取client_id,client_secret。
2.第三方请求用户授权。用户点击按钮同意授权后,授权服务器将生成一个用户凭证(code)
当我们向授权服务器提交应用信息时(就是注册应用时),通常需要填写一个redirect_uri,当我们引导用户进入授权页面时,也会附带一个redirect_uri的信息(如Sign in to GitHub),当授权服务器验证两个URL一致时,会通知浏览器跳转到redirect_uri,同时,在redirect_uri后附加用户凭证(code)的相关信息

3.请求授权服务器授权。需要以下参数:
client_id 标识第三方应用的id,由授权服务器(Github)在第三方应用提交时颁发给第三方应用

client_secret 第三方应用和授权服务器之间的安全凭证,由授权服务器(Github)在第三方应用提交时颁发给第三方应用

code 第一步中返回的用户凭证
redirect_uri 第一步生成用户凭证后跳转到第二步时的地址

state 由第三方应用给出的随机码

4.拿到验证凭证(Access Token)
授权服务器验证通过后,会将Access Token返回给第三方应用。
5.请求访问用户资源:
拿到验证凭证(Access Token)后资源服务器会提供一系列关于用户资源的API,拿验证凭证(Access Token)访问相应的API即可。
6.返回资源,OAuth流程结束。