OAuth2.0

OAuth2.0

1. OAuth2 是什么

含义

OAuth2.0OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程

2. OAuth2 的四种角色

  1. 资源所有者(Resource Owner) : 即用户本身
  2. 资源服务器(Resource Server) : 存储受保护的账号信息
  3. 授权服务器(Authorization Server) : 在成功验证用户身份, 并获得授权后, 给客户端派发访问令牌
  4. 客户端(Client) : 即代表你访问的第三方应用

3.OAuth2 的四种模式

授权码模式 : 最常用的模式, 最繁琐的模式, 也是最安全的模式

image-20230826212742387

流程: 也可以把访问照片理解成为,登录第三方应用

  • 1.2.3:用户通过浏览器访问第三方应用(client)的一张照片,但浏览器没有权限
  • 4:通过请求重定向至授权页面,等待用户授权
  • 5.6:用户授权完成,授权服务器返回一个 code 和 client_id 给浏览器
  • 7.8.9:浏览器拿着code去请求client,client拿着code去和授权服务器换取Access_token和 Refresh_token
  • 10.11: client拿着Access_token去和资源服务器换取照片信息,资源服务器验证access_Token的合法性,没问题就允许访问可控资源,返回照片列表给client
  • 12.13: client拿到照片列表给到浏览器,浏览器返回视图给用户看

简化模式

简化模式相比于授权码模式,少了code换取token这一步,但不安全,token可以被恶意脚本获取,同时token有效期短,浏览器关闭即失效。

image-20230826212819435

密码模式

密码模式是用户直接将自己的用户名密码交给client(App),client用用户的用户名密码直接换取AccessToken。

客户端模式

只要client请求,我们就将AccessToken发送给它。

转载: 【OAuth2】详细讲解_Huang_Ds的博客-CSDN博客


OAuth2.0
http://shadowzlh.top/2023/08/26/OAuth2-0/
作者
shadowzlh
发布于
2023年8月26日
许可协议