使用 OKTA 的 WSO2 最终用户身份验证

WSO2 End User authentication using OKTA

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

前端:AngularSPA

后端:Spring微服务

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

  1. WSO2 API manager must be integrated with OKTA to perform end user authentication using OKTA.
  1. WSO2 API Manager publisher and developer portal shall be still using local user authentication and local user store, as access is not exposed to end user.

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.Configuring OKTA 作为 API 经理的 IDP,但我们不希望发布者或开发门户启用 IDP,而只希望最终用户身份验证。

b.About 编写自定义 Auth 处理程序,但不清楚如何使用处理程序处理重定向。

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

我们的用例未找到任何结论。

  1. Is this feasible with WSO2 API manager ?
  1. Or should the OKTA integration to be moved to Apache Web server?
  1. How should WSO2 API manager be made aware of OKTA token validation.

以下是实现相同目标所执行的步骤。

  • 将 Angular 应用程序直接与 OKTA 集成。 Link here.

  • 通过管理员在 WSO2 APIM 中添加 OKTA 作为密钥管理器 console.Link here.

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