OKTA 密钥管理器不适用于 WS02 API 管理器 3.2.0

时间:2021-04-18 16:49:05

标签: wso2 wso2is wso2-am wso2carbon okta-api

说明: 当 API 订阅到 WSO2 APIM 3.2.0 DevPortal 中的默认应用程序以外的应用程序时,密钥管理器 OKTA 不起作用

重现步骤:

  1. 使用管理员凭据登录管理员门户。
  2. 通过从 OKTA 收集的详细信息注册 OKTA 密钥管理器。确保遵循文档中提到的步骤。
  3. 启用令牌生成、带外配置、Oauth 应用创建选项。
  4. 使用管理员凭据登录到发布商门户。
  5. 部署 PizzaShack API。
  6. 转到运行时配置,在应用程序安全下,仅保留 API 允许的 OKTA 密钥管理器。
  7. 保存并发布 API。
  8. 使用管理员凭据登录开发者门户。
  9. 完全按照此处https://apim.docs.wso2.com/en/latest/administer/key-managers/configure-okta-connector/所述为 OKTA 创建一个新应用程序。
  10. 为 PizzaShack API 订阅新应用。
  11. 直接通过 okta API 为 OKTA 最终用户生成访问令牌。
<块引用>

OKTA 最终用户在 WSO2 用户商店中不可用。 并且不使用 wso2 devportal 生成访问令牌。

  1. 使用生成的访问令牌向比萨饼 API 发出请求。
  2. WSO2 返回以下错误
<块引用>
<ams:fault xmlns:ams="http://wso2.org/apimanager/security">
    <ams:code>900908</ams:code>
    <ams:message>Resource forbidden </ams:message>
    <ams:description>User is NOT authorized to access the Resource. API Subscription validation failed.</ams:description>
</ams:fault>
  1. 转到 devportal 并从新应用中取消订阅 PizzaShack。
  2. 将 PizzaShack API 订阅到默认应用程序并保存。
  3. 使用之前生成的访问令牌向比萨饼 API 发出请求。
  4. WSO2 响应 API 结果。

1 个答案:

答案 0 :(得分:0)

我们的前端应用程序使用 SPA OKTA 应用程序生成访问令牌。不支持将其注册为 OKTA 密钥管理器。我们按照以下步骤操作并使其正常工作。

  • 在同一个 web 类型的授权服务器下创建一个新的 OKTA 应用程序。生成 API 密钥、客户端 ID 和客户端密钥。
  • 使用上述详细信息添加 OKTA 密钥管理器。禁用 Oauth App Creation 选项,因为它不是必需的。
  • 转到 devportal,添加一个新应用程序。在 OKTA 密钥管理器下,选择“提供现有身份验证密钥”。
  • 在 OKTA 中输入为 SPA 应用生成的客户端 ID。将消费者秘密留空并保存。
  • 订阅 PizzaShack API 并使用从 SPA OKTA 空间生成的访问令牌调用 API。
  • WSO2 接受请求并返回结果。

由于附加在访问令牌中的消费者密钥用于识别订阅的应用程序,因此必须在相应部分提供消费者密钥作为客户端 ID。

相关问题