OAuth2 的授权流程

📖 OAuth2 的授权流程

📑 参与的角色

1️⃣ Resource Owner资源所有者,即代表授权客户端访问本身资源信息的用户(User),也就是应用场景的“开发者A”

2️⃣ Resource Server 资源服务器,托管受保护的用户账号信息,比如Github。

3️⃣ Authorization Server 授权服务器,验证用户身份然后为客户端派发资源访问令牌,比如Github

  • Resource ServerAuthorization Server 可以是同一台服务器,也可以是不同的服务器,视具体的授权平台而有所差异。

4️⃣ Client客户端,即代表意图访问受限制的第三方应用

📑 授权流程

授权流程

image.png

流程解析

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

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

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

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

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

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

📑 授权许可 Authorization Grant

Authorization Code

结合普通服务器端应用使用(web端常用的授权方式)

Implicit

结合移动应用或者WebApp使用

Resource Owner Password Credentials

适用于受信任的客户端应用,例如通哥组织的内部或外部应用

Client Credentials

适用于客户端调用主服务API型应用(比如百度API Store)

📑 直白话 OAuth2 流程

上述流程理解起来有些难度,这儿我们给出一个白话版的流程图

首先需要引入三个角色:

1️⃣ 用户A:可以理解成你自己

2️⃣ 网站B:可以理解成OSChina

3️⃣ 第三方C:可以理解成Github

📚 需求:

你(用户A)想通过 Github(第三方C)登录网站B(OSChina)

💡注: 下面的内容为流程图,如果您在阅读的时候显示为纯文字,请尝试刷新页面,直到显示正常。

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alascanfu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值