同一API的多个oauth客户端

时间:2019-12-05 10:20:38

标签: node.js authentication oauth-2.0 keycloak

我正在尝试完成以下方案。

我现在有一个API和一个Web应用程序。我还在隐式授予之后的身份验证服务器(密钥斗篷)上创建了一个新的oauth客户端。我还在我的nodejs api上使用了jwks来进行令牌验证。

现在,我想创建一个针对相同API的SDK。

问题是如何获取SDK以从auth服务器检索访问令牌。首先想到的是,我将不得不在authserver上创建一个新的客户端oauth客户端,然后使用客户端凭据流来获取访问令牌。但是,我不知道我的API的行为应该是什么样的。此刻,它使用jwks攻击单个受众。应该如何配置它以验证来自多个客户端(可能是数千个)的访问令牌

1 个答案:

答案 0 :(得分:1)

如果您希望多个客户端调用您的API,则它们都应使用相同的受众,并且您的第一级安全性将起作用。

访问令牌中的访问者表示令牌可以使用的API。

然后,您将需要使用其他方式来授权API请求,具体取决于客户端的类型及其允许的操作。

在身份验证服务器中配置每种类型的客户端,以便您可以控制并知道谁在调用API。

您可能有1000个客户端,但只有4个特权级别-在这种情况下,仅配置4个OAuth客户端才有意义。

您可以使用的OAuth选项为不同的客户端提供不同的范围。范围可以代表高级特权。

如果特定的客户端调用了addOrder操作,但没有Orders范围,则可以返回403响应。

尽管API授权通常需要超越OAuth检查并根据最终用户权限应用自定义规则。

如果您可以提供有关您的方案的更多信息,我可以提供更完整的答案。