如何使我的最终用户(在wso2身份服务器下)在wso2 api管理器中订阅api?

时间:2020-02-13 14:01:22

标签: wso2 wso2-am wso2is api-gateway user-access-manager

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

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

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

实现此目标的最佳方法是什么?

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

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

  1. 在入站身份验证下创建服务提供程序和创建Oauth应用程序有什么用?

  2. 该应用程序可以做什么?

  3. 这与我们在订阅API管理器存储区中的API之前创建的应用程序相同吗?

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

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

2 个答案:

答案 0 :(得分:2)

您可以选择任何一种方式。使用IS作为密钥管理器(如果您已经使用IS),或添加为辅助用户存储。

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

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

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

  1. 在入站身份验证下创建服务提供者和创建Oauth应用程序有什么用?
  2. 该应用程序可以做什么?
  3. 这与我们在订阅API管理器商店中的API之前创建的应用程序一样吗?​​
  4. 我可以将用户添加到此应用程序并授予他们共同的访问权限吗?
  5. 我可以订阅使用此应用程序的API,以便该应用程序下的所有用户都可以访问它吗?

答案

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

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

  • OAuth应用程序(当您通过API存储创建时)还有其他多种用途,例如订阅API,对订阅实施限制政策等。

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

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

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

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

答案 1 :(得分:1)

添加@Menaka的解释。

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

相关问题