ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于Oauth2.0的单点登录—Oauth2.0(二)

2021-02-03 23:30:35  阅读:293  来源: 互联网

标签:令牌 单点 登录 用户 认证 授权 服务器 Oauth2.0 客户端


一. 概念及解决的问题

一种开放授权的标准,即一种授权机制。
阮一峰大佬对Oauth2.0的解释

二. 认证授权流程中的4个角色

  • 用户:资源的拥有着
  • 客户端:要访问/获取用户资源的服务
  • 认证服务器:对用户与客户端认证授权的服务器
  • 资源服务器:保存用户资源的服务器

三. 四种授权模式

(一) 授权码模式(authorization code)

1. 适用场景

有后端的web应用,是目前最常用的授权模式,安全性也是最高的。授权码通过前端传送,令牌存储在后端,所有与资源服务器之间的通信都在后端完成,避免令牌的泄露,现在市面上的第三方授权多使用该模式。

2. 授权流程
  1. 客户端访问认证服务器请求获取授权。
  2. 认证服务器对客户端进行认证。
  3. 认证服务器跳转登录页面要求用户登录。
  4. 用户登录。
  5. 认证服务器对用户进行认证。
  6. 认证服务器询问用户是否授权给客户端。
  7. 用户确认授权给客户端。
  8. 认证服务器在得到客户允许后给客户端发放授权码。
  9. 客户端使用授权码请求获取令牌(该授权码只能使用一次)。
  10. 认证服务器返回令牌。
  11. 客户端使用令牌访问资源服务器。
    授权码模式

(二) 密码模式(password)

1. 适用场景

高度信任的客户端应用,多用于同公司的系统。

2. 授权流程
  1. 客户端拿上用户的用户名和密码从认证服务器获取令牌。
  2. 认证服务器返回令牌。
  3. 客户端拿上令牌访问资源服务器。
    密码模式

(三) 简化模式/隐式授权模式(implicit)

1. 适用场景

无后端的web应用,令牌需要存储在前端,安全性较差,所以只能用在对安全性要求不高的场景,并且令牌的有效期必须非常短,通常都是会话期间(session)有效,浏览器关掉的时,令牌就失效了。

2. 授权流程
  1. 客户端访问认证服务器获取令牌。
  2. 认证服务器返回令牌。
  3. 客户端访问资源服务器。
    简化模式

(四) 客户端模式(client credentials)

1. 适用场景

高度信任的客户端应用,该模式是针对第三方客户端而非针对用户,即可能多个用户共享同一个令牌。

2. 授权流程
  1. 客户端使用客户端凭证访问认证服务器获取令牌。
  2. 认证服务器返回令牌。
  3. 客户端使用令牌访问资源服务器。
    客户端模式

标签:令牌,单点,登录,用户,认证,授权,服务器,Oauth2.0,客户端
来源: https://blog.csdn.net/qq_39847635/article/details/113621785

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有