当前位置: 首页 > 知识库问答 >
问题:

OAuth 2.0范围参数与OAuth 2.0 JWT access\u令牌范围声明

赫连俊雄
2023-03-14

我正在阅读以下关于授权的文章:

https://auth0.com/docs/quickstart/backend/aspnet-core-webapi/02-authorization

这让我有点困惑。

Auth0使用范围声明来提及endpoint操作的授权。

OAuth 2.0范围参数也用于相同目的,例如Slack在以下链接中提到其范围:

https://api.slack.com/docs/oauth-scopes

他们的用例是什么,什么时候我更喜欢使用JWT声明范围,它是OAuth 2.0的一部分access_token(在这种情况下access_token不透明)而不是OAuth 2.0范围参数

共有1个答案

薛朝
2023-03-14

OAuth 2.0范围参数在规范中定义为客户端应用程序请求特定访问的一种方式,然后由授权服务器通知确实授予了访问权限。

您提到的两种场景似乎与这个用例非常一致;指定授予您的访问/权限的方法。

最大的区别是在一种情况下使用按值令牌(JWT),而在另一种情况下使用按引用令牌(不透明)。如果令牌是自包含的,就像JWT的情况一样,您必须在其中包含信息,并且它们使用的声明是范围声明。

总之,scope参数是一种传输您需要的访问权限和您确实被授予的访问权限的方法。该信息还需要与发布的访问令牌关联存储。如果它是JWT,则很可能存储在令牌本身中;如果它是不透明令牌,则很可能存储在服务器端。

 类似资料:
  • 授权端点和令牌端点允许客户端使用“scope”请求参数指定访问请求的范围。反过来,授权服务器使用“scope”响应参数通知客户端颁发的访问令牌的范围。 范围参数的值表示为以空格分隔,大小写敏感的字符串。 由授权服务器定义该字符串。如果该值包含多个空格分隔的字符串,他们的顺序并不重要且每个字符串为请求的范围添加一个额外的访问区域。 scope = scope-token *( SP scope-to

  • 问题内容: 我最近开始学习python3。 在 python 2 中,可以使用函数来分配列表元素。 如使用功能时在 python 3 中一样 为什么会这样呢? python为什么要进行此更改? 是恩赐还是祸根? 问题答案: Python 3 在很多地方使用了 迭代器 ,而 python 2 使用了 列表 。文档给出了详细的解释,包括对的更改。 优点是,如果您使用大范围的迭代器或映射, Python

  • 我已经做了一段时间了,我想看看是否有人知道我可能做错了什么。我想做的是使用提供的Spotify Web API将歌曲添加到播放列表中。根据这方面的文件https://developer.spotify.com/documentation/web-api/reference/playlists/add-tracks-to-playlist/我需要确定用户的范围。 “将曲目添加到当前用户的私人播放列表

  • 问题内容: 我正在开发一个指令,该指令根据在模板中定义的click事件(ng- click)来显示和隐藏其内容。在某些使用该指令的视图上,我希望能够知道该指令当前是显示还是隐藏其内容,因此我可以响应DOM更改。该指令具有单独的作用域,当该指令被“切换”时,我试图通知父作用域。我正在尝试通过将回调函数传递给使用该指令的指令来实现此目的,该指令可以在指令的状态更改(即隐藏或显示)时调用 我不确定该指令

  • 问题内容: 在Angularjs中,是否有特定的原因要在控制器中使用,并且要在指令链接函数中使用(不使用)?这仅仅是公约还是其他? 问题答案: 该情况下,当你在控制器的依赖注入范围内喷射基于匹配变量名使用,在这种情况下,因为名字是行不通的。 对于指令的情况下,注塑基于位置,所以你可以命名你的变量或或任何东西。链接功能的指令顺序为 因此,第一个元素始终是作用域对象。

  • 问题内容: 我知道变量作用域由块的开始和块的结尾包围。如果在块内声明了相同的变量,则会发生编译错误。但是,请看以下示例。 在这里,可以在方法中重新声明,尽管它已经在类中声明了。但是在块中,无法重新声明。 为什么类范围变量的重新声明不产生错误,而方法范围变量的重新声明却产生错误? 问题答案: 这是因为不是变量,而是实例字段。允许局部变量与字段具有相同的名称。为了区分变量和具有相同名称的字段,我们在实