首页 > 解决方案 > 使用 OKTA 的 WSO2 最终用户身份验证

问题描述

我们有一个当前在Apache Web 服务器上运行的 Web 应用程序门户。最终用户可以在启用 MFA 的OKTA 身份中使用。

前端:Angular SPA

后端:Spring 微服务

需要设置 WSO2 API 管理器并与 OKTA 服务集成。

  1. WSO2 API 管理器必须与 OKTA 集成以使用 OKTA 执行最终用户身份验证。
  1. WSO2 API Manager 发布者和开发者门户仍应使用本地用户身份验证和本地用户存储,因为访问权限不会暴露给最终用户。

In our understanding,the work flow should be like WSO2 API manager must validate the API request (protected via okta access token), redirect end user to OKTA login via SAML or OIDC, then end user logins via OKTA portal, OKTA redirects the end user back to WSO2 api manager with tokens

我们正在尝试做一个 POC,并找到了关于

a. 将 OKTA 配置为 API 管理器的 IDP,但我们不希望发布者或 devportal 启用 IDP,而仅启用最终用户身份验证。

b.关于编写自定义身份验证处理程序,但不清楚应该如何使用处理程序处理重定向。

C。关于将 OKTA 集成为密钥管理器,我们需要 SAML 重定向并让用户通过 OKTA 门户登录。

对于我们的用例,没有任何结论。

  1. 这对 WSO2 API 管理器可行吗?
  1. 还是应该将 OKTA 集成移至 Apache Web 服务器?
  1. 应如何让 WSO2 API 管理器了解 OKTA 令牌验证。

标签: spring-securityoauth-2.0wso2wso2-amokta

解决方案


以下是为实现相同目的而执行的步骤。

  • 将 Angular 应用程序直接与 OKTA 集成。链接在这里

  • 通过管理控制台将 OKTA 添加为 WSO2 APIM 中的密钥管理器。链接在这里

  • 使用 OKTA 作为允许的密钥管理器发布应用程序 API,其余的 WSO2 功能必须使用常驻密钥管理器。
  • 在 devPortal 中,创建应用程序并使用客户端 ID 配置 OKTA,并将客户端密码保持为空。
  • 订阅所需的 API。
  • 从前端应用程序登录到 OKTA 并生成访问令牌,并将其与每个 API 请求一起传递。
  • WSO2 OKTA 密钥管理器将成功验证令牌并路由请求。

推荐阅读