验证/授权客户的应用程序使用我的 API

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

看了太多关于授权认证的文档,有点纳闷

我们的客户是使用我们的 API 及其(服务器端)程序的公司

我想自动化 api 访问令牌交付。 (新合同 -> 我们身份服务器上的新客户 -> 访问“应用程序门户”,让他们创建链接到他们公司和 API 密钥生成的应用程序)。

我一直使用带有自定义代码的自定义解决方案(即像 https://github.com/ISI-nc/autentigo 这样的简单服务的模组)。

我看不出今天的商业解决方案/标准如何满足这个要求。我不想自己实现一些东西,有没有涵盖的标准:

  • 客户公司的身份证明(而不是我客户公司的个人),
  • 识别客户的应用程序,
  • 允许客户的应用程序管理员声明应用程序并生成访问令牌的自助服务,
  • 检查权限并根据客户的访问权限授权访问令牌。

这不是我通常的技术窄堆栈溢出问题,可能太宽泛了。如果是这样,请帮我细化问题。

api authentication oauth-2.0 authorization access-token
1个回答
0
投票

您的用例听起来类似于 Open Banking 的工作方式,以实现动态业务:

  • 银行提供API
  • 授权商户可以随时在银行授权服务器上创建一个或多个可以连接到API的客户端
  • 用户使用商家客户端应用程序购买东西,这些应用程序使用银行访问令牌来管理付款

为此,使用了 OAuth 动态客户端注册,这是由授权服务器实现的行为。还需要某种信任,这通常在开放银行中由每个商家从权威机构接收不同的客户证书来管理。

在其他用例中,这种类型的凭证可能由 API 所有者直接提供给每家公司的管理员。 DCR 允许管理员使用一个密钥注册客户端。然后创建的客户端是具有生成的 ID 的普通 OAuth 客户端。它使用单独的秘密和自己的特权。

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