为了让用户登录更方便,所以有了第三方登录,比如github,qq,淘宝等。oauth就是第三方登录的实现方案,第三方登录的原理:
- A 网站让用户跳转到 GitHub。
- GitHub 要求用户登录,然后询问"A 网站要求获得 xx 权限,你是否同意?"
- 用户同意,GitHub 就会重定向回 A 网站,同时发回一个授权码。
- A 网站使用授权码,向 GitHub 请求令牌。
- GitHub 返回令牌.
- A 网站使用令牌,向 GitHub 请求用户数据。
1、概念解析
https://www.ruanyifeng.com/blog/2019/04/oauth_design.html
2、OAuth 2.0 的四种方式
https://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html
3、在.net core 中的实现
实现一个后端的oauth
https://www.cnblogs.com/RainingNight/p/oidc-authentication-in-asp-net-core.html