1

我目前正在WSO2 API 管理器 (v2.6.0)上进行 PoC 。我已经有一个 Web 应用程序(例如:Pizza booking)以及使用该应用程序进行披萨预订的注册客户(最终用户)。现在我想带来披萨预订应用程序的后端服务,例如,

  1. 选择店铺位置,
  2. 预订披萨,
  3. 跟踪订单等

作为 API 进入 WSO2 API 管理器。为此,我将在 API 管理器中创建所需的 API。然后我想将我现有的 Web 应用程序用户(最终用户)引入 API 管理器并提供对这些 API 的访问。

实现这一点的最佳方法是什么?

  1. 将我的用户置于 WSO2 身份服务器下并将身份服务器用作我的 API 管理器的密钥管理器?
  2. 将我的用户置于辅助用户存储/使用 API 管理器的自定义用户存储?

在那种情况下,我将如何提供对特定 API 的访问(订阅 API)而不登录到 API 管理器存储并为每个用户手动订阅?

还,

  1. 在 Inbound 认证下创建 Service Provider 和创建 Oauth 应用有什么用?

  2. 我可以用这个应用程序做什么?

  3. 这与我们在 API manager store 中订阅 API 之前创建的应用程序相同吗?

  4. 我可以将用户添加到此应用程序并授予他们共同的访问权限吗?

  5. 我可以使用此应用程序订阅 API,以便此应用程序下的所有用户都可以访问它吗?

4

2 回答 2

2

无论哪种方式,你都可以做到。使用 IS 作为密钥管理器(如果您已经在使用 IS),或添加为辅助用户存储。

因此,如果您已经在部署中使用 WSO2 Identity Server,将其配置为密钥管理器(通过共享用户存储),将自动启用 IS 中的所有用户(具有适当权限)来访问 api。

如果您当前不使用 IS,最好的选择是将作为辅助用户存储添加到现有 APIM 部署中。

请在下面找到其他问题的答案。

  1. 在 Inbound 认证下创建 Service Provider 和创建 Oauth 应用有什么用?
  2. 我可以用这个应用程序做什么?
  3. 这与我们在 API manager store 中订阅 API 之前创建的应用程序相同吗?
  4. 我可以将用户添加到此应用程序并授予他们共同的访问权限吗?
  5. 我可以使用此应用程序订阅 API,以便此应用程序下的所有用户都可以访问它吗?

回答

服务提供者是在创建 Oauth 应用程序并生成密钥时自动创建的。但是,这两个实体有不同的方面。

  • 服务提供者通常用于生成应用程序密钥以获取访问令牌以调用 api。

  • OAuth 应用程序(当您通过 API 存储创建时)还有其他几种用途,例如订阅 API、执行订阅限制策略等。

为了使用应用程序生成的令牌,应用程序应订阅相应的 API。否则,尽管您拥有有效的访问令牌,但您将无法调用该 API。

您只能从通过 API Store 创建的 OAuth 应用程序订阅 API。

您的用户可以使用相同的 OAuth 应用程序(通过 Store 门户创建并订阅 API)为他们生成访问令牌。也就是说,通过向他们提供应用程序密钥并使用密码授权类型,他们可以为他们生成令牌

有关令牌 API 和授权类型的更多信息,请参阅此文档。https://docs.wso2.com/display/AM260/Token+API

于 2020-02-13T20:16:21.303 回答
1

添加到@Menaka 解释的内容。

您的最终用户不必订阅 API。只有应用程序开发人员必须订阅并将消费者密钥/秘密嵌入到他们的应用程序中。然后应用程序应该使用这些密钥对+最终用户凭据为最终用户生成令牌。

于 2020-02-17T10:08:28.090 回答