1. OAuth2

1.1. 什么是oauth2

OAuth2.0 OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方 应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他 们数据的所有内容。OAuth在全世界得到广泛应用,目前的版本是2.0版。

OAuth协议:https://tools.ietf.org/html/rfc6749 协议特点:

  • 简单:不管是 OAuth 服务提供者还是应用开发者,都很易于理解与使用;
  • 安全:没有涉及到用户密钥等信息,更安全更灵活;
  • 开放:任何服务提供商都可以实现OAuth,任何软件开发商都可以使用OAuth;

1.2. 为什么用oauth2

业务系统 需要实现几种登录形式

  • 原生app授权 app登录请求后台接口,为了安全认证,所有请求都带token信息,如果登录验证、 请求后台数据。
  • 前后端分离单页面应用:前后端分离框架,前端请求后台数据,需要进行oauth2安全认证,比如 使用vue、react后者h5开发的app
  • 第三方应用授权登录,比如QQ,微博,微信的授权登录。

1.3. oauth中的角色

OAuth 定义了四个角色:

  • Resource owner 资源拥有者(用户):能够授予对受保护资源的访问权限的实体。当资源所有者是一个人时,它被称为最终用户
  • Resource Server 资源服务器:托管受保护资源的服务器,能够使用访问令牌接受和响应受保护资源请求
  • Client 客户端:代表资源所有者并经其授权发出受保护资源请求的应用程序。“客户”一词确实 不暗示任何特定的实现特征(例如, 应用程序是否在服务器、桌面或其他 设备上执行)。
  • Authorization server 授权服务器:服务器在成功 验证资源所有者并获得授权后向客户端颁发访问令牌。授权服务器和资源服务器之间的交互超出了本规范的范围。授权服务器 可以是与资源服务器相同的服务器,也可以是单独的实体。 单个授权服务器可以发布多个资源服务器接受的访问令牌。

其他角色:

  • User Agent:用户代理,本文中就是指浏览器。

2. 参考

Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2025-01-03 22:56:11

results matching ""

    No results matching ""