Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wso2 OKTA密钥管理器未与WS02 API管理器3.2.0配合使用_Wso2_Wso2is_Wso2 Am_Wso2carbon_Okta Api - Fatal编程技术网

Wso2 OKTA密钥管理器未与WS02 API管理器3.2.0配合使用

Wso2 OKTA密钥管理器未与WS02 API管理器3.2.0配合使用,wso2,wso2is,wso2-am,wso2carbon,okta-api,Wso2,Wso2is,Wso2 Am,Wso2carbon,Okta Api,说明: 当API订阅到WSO2 APIM 3.2.0开发门户中的默认应用程序以外的应用程序时,密钥管理器OKTA不工作 复制步骤: 使用管理员凭据登录到管理员门户 根据从OKTA收集的详细信息注册OKTA密钥管理器。确保遵循文档中提到的步骤 保持令牌生成、带外资源调配、Oauth应用程序创建选项处于启用状态 使用管理员凭据登录到Publisher Portal 部署PizzaShack API 转到“运行时配置”,在“应用程序安全”下,仅保留API允许的OKTA密钥管理器 保存并发布API 使用

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

复制步骤:

  • 使用管理员凭据登录到管理员门户
  • 根据从OKTA收集的详细信息注册OKTA密钥管理器。确保遵循文档中提到的步骤
  • 保持令牌生成、带外资源调配、Oauth应用程序创建选项处于启用状态
  • 使用管理员凭据登录到Publisher Portal
  • 部署PizzaShack API
  • 转到“运行时配置”,在“应用程序安全”下,仅保留API允许的OKTA密钥管理器
  • 保存并发布API
  • 使用管理员凭据登录到开发人员门户
  • 为OKTA创建一个新的应用程序,就像这里提到的那样
  • 向新应用程序订阅PizzaShack API
  • 直接通过OKTA API为OKTA最终用户生成访问令牌
  • OKTA最终用户在WSO2用户商店中不可用。 并且不使用wso2 devportal生成acces令牌

  • 使用生成的访问令牌向pizzashack api发出请求
  • WSO2返回以下错误
  • 
    900908
    禁止的资源
    用户无权访问该资源。API订阅验证失败。
    
  • 转到devportal并从新应用程序中取消订阅Pizzahack
  • 订阅PizzaShack API到默认应用程序并保存
  • 使用先前生成的访问令牌向pizzashack api发出请求
  • WSO2响应API结果

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

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

    <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>