基础介绍
关于OAuth2 的介绍,可以详细看阮一峰的博客,下面是链接地址: https://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html
总结来说,分为四种授权模式
授权码模式
授权码模式,是应用比较广泛的一种(同时可以和我们后面的Pkce相结合)认证方式。下面我们简单讲解一下流程。
授权流程:
- 用户访问A网站,并点击A网站的授权链接跳转授权网站(B网站) 链接大致格式如下:
https://b.com/oauth/authorize?
response_type=code&
client_id=CLIENT_ID&
redirect_uri=CALLBACK_URL&
scope=read
- B网站要求用户登录或者授权,如果表示同意且成功后,这时B网站就调回A网站指定的redirect uri并附上授权码
https://a.com/callback?code=AUTHORIZATION_CODE
- A网站拿到授权码后就可以向B网站请求令牌
https://b.com/oauth/token?
client_id=CLIENT_ID&
client_secret=CLIENT_SECRET&
grant_type=authorization_code&
code=AUTHORIZATION_CODE&
redirect_uri=CALLBACK_URL
- B网站收到请求后,验证成功就会颁发令牌。包括access_token,id_token等信息
其余方式
其他方式可以参考阮一峰的博客,在这里就不详细描述了。