侧边栏壁纸
博主头像
再见理想博主等级

只争朝夕,不负韶华

  • 累计撰写 112 篇文章
  • 累计创建 64 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

OAuth2.0 认证流程

再见理想
2022-05-27 / 0 评论 / 0 点赞 / 522 阅读 / 699 字

一,简介

OAuth 是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。

OAuth 在客户端与服务提供者之间,设置了一个授权层(authorization layer)。客户端不能直接访问服务提供者,只能访问授权层,以此将用户与客户端区分开来。客户端携带的令牌(token)用来指定权限范围和有效期,校验通过后,服务提供者根据令牌的权限范围和有效期,向客户端开放对应的资源。

二,四个角色

resource owner(资源拥有者)

即能够有权授予对保护资源访问权限的实体,即用户。

resource server(资源服务器)

承载受保护资源的服务器,能够接收使用访问令牌对受保护资源的请求并响应,它与授权服务器可以是同一服务器,也可以是不同服务器。微服务中的网关 Gateway 一般用作资源服务器。网关是作为各个微服务(会员服务、商品服务、订单服务等)统一入口,也就是这些资源服务的统一门面,在这里可以对 JWT 验签、JWT 有效期判断、JWT 携带角色权限判断。

client(客户端)

代表资源所有者及其授权发出对受保护资源请求的应用程序。

authorization server(授权服务器)

认证服务器,专门用来处理认证授权的服务器。

三,OAuth2.0协议流程

1,用户打开客户端以后,客户端要求用户给予授权。

2,用户同意给予客户端授权。

3,客户端使用上一步获得的授权,向认证服务器申请令牌。

4,认证服务器对客户端进行认证以后,确认无误,同意发放令牌。

5,客户端使用令牌,向资源服务器申请获取资源。

6,资源服务器确认令牌无误,同意向客户端开放资源。

简书认证流程例子:

四,客户端的授权模式

客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。OAuth 2.0定义了四种授权方式。

授权码模式(authorization code)
简化模式(implicit)
密码模式(resource owner password credentials)
客户端模式(client credentials)

文章参考:

OAuth 认证流程详解
阮一峰-理解OAuth 2.0

0

评论区