OAuth grant types:Authorization code grant type

OAuth授权类型包括授权代码和隐式授权,用于客户端应用程序安全地访问用户数据。授权代码流涉及用户登录和同意授权,然后通过服务器到服务器交换获取访问令牌。隐式授权则直接在浏览器中获取访问令牌,较不安全。OAuth作用域定义了应用程序的权限。在实际应用中,服务器端应用应优先选择授权代码授权类型以保证安全性。
摘要由CSDN通过智能技术生成

什么是OAuth授权类型?

OAuth授权类型确定OAuth进程中涉及的步骤的确切顺序。授权类型还影响客户端应用程序在每个阶段与OAuth服务通信的方式,包括访问令牌本身的发送方式。因此,授权类型通常被称为“OAuth流”

在客户端应用程序可以启动相应的流之前,必须将OAuth服务配置为支持特定的授权类型。客户机应用程序指定要在发送给OAuth服务的初始授权请求中使用的授权类型。

有几种不同的授予类型,每种类型都有不同程度的复杂性和安全性考虑。我们将重点讨论“授权代码”和“隐式”授权类型,因为它们是目前最常见的授权类型。

OAuth scopes

对于任何OAuth授权类型,客户机应用程序都必须指定要访问的数据以及要执行的操作类型,它使用它发送给OAuth服务的授权请求的scope参数来实现这一点。

对于基本OAuth,客户端应用程序可以请求访问的范围对于每个OAuth服务都是唯一的。由于作用域的名称只是一个任意文本字符串,因此不同的提供程序之间的格式可能会有很大的差异。有些甚至使用完整URI作为作用域名称,类似于REST API端点。例如,当请求对用户的联系人列表进行读取访问时,根据所使用的OAuth服务,作用域名称可能采用以下任何形式:

scope=contacts
scope=contacts.read
scope=contact-list-r
scope=https://oauth-authorization-server.com/auth/scopes/user/contacts.readonly 

然而,当OAuth用于身份验证时,通常使用标准化的OpenID连接作用域。例如,scope openid概要文件将授予客户机应用程序对预定义的用户基本信息集的读取权限,例如他们的电子邮件地址、用户名等。稍后我们将进一步讨论OpenID Connect。

Authorization code grant type

授权代码授权类型最初看起来相当复杂,但实际上比您熟悉一些基本知识后想象的要简单。

简言之,客户机应用程序和OAuth服务首先使用重定向来交换一系列基于浏览器的HTTP请求,以启动流。询问用户是否同意请求的访问。如果他们接受,客户端应用程序将被授予“授权代码”。然后,客户端应用程序与OAuth服务交换该代码以接收“访问令牌”,它们可以使用该令牌进行API调用以获取相关的用户数据。

从代码/令牌交换开始发生的所有通信都通过一个安全、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zeker62

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

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

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

打赏作者

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

抵扣说明:

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

余额充值