OAuth2 配置和令牌问题

问题描述 投票:0回答:1

我正在尝试了解我可以利用的正确 OAuth2 流程以及他们的决策的影响。我有一个配置了 OAuth2 身份验证流程的 Web 应用程序,并看到身份验证成功。我们的 Web 应用程序还为不同的应用程序公开了 3 个其他 api 端点。

对于第一遍,我正在尝试 API 的客户端机密流程。因此,我创建了额外的 OAuth2 Web 应用程序,并为每个 API 提供了公开的 api。我可以调用 IDP(使用授权类型、client_id、client_secret 和范围(api id))来获取访问令牌并调用端点。一些观察/问题:

  • 客户端机密流程似乎不支持 RBAC,因为没有身份、角色或权限。 (?)
  • 我不太明白作用域是如何用于 api 的
  • 如果我想为 API(具有多个客户端)使用 RBAC,我是否会被迫进入身份验证代码流程?然后我会创建像服务帐户一样具有角色和权限的用户吗?
  • 为了允许机器对机器交互,您必须向客户端应用程序提供更多信息,以调用 IDP 来创建访问令牌。

我想我错过了在拥有多个资源服务器和 Web 应用程序的企业中使用 OAuth2 的大局。使用访问令牌来允许访问资源的概念对我来说需要更具体的感觉和示例。

谢谢

oauth-2.0
1个回答
0
投票

访问令牌背后的目标是以可验证的方式向您的 API 传递安全值(用于授权)。因此,当涉及到用户时,请避免在调用上游 API 时切换到客户端凭证流程。

相反,请考虑将用户级访问令牌转发到上游 API。但是,每个 API 都应检查其自己所需的受众和范围。

受众是 API 的逻辑分组,例如

api.company.com
。将范围视为您的业务领域,例如;

internet/sales
commercial/sales

如何使用这些成分取决于您,因为 OAuth 旨在保护业务数据。基于声明的授权应该是主要焦点。我的博客文章对此进行了更多介绍。

© www.soinside.com 2019 - 2024. All rights reserved.