使用 OKTA 的 WSO2 最终用户身份验证
Posted
技术标签:
【中文标题】使用 OKTA 的 WSO2 最终用户身份验证【英文标题】:WSO2 End User authentication using OKTA 【发布时间】:2021-06-23 22:12:11 【问题描述】:我们目前有一个在 Apache 网络服务器上运行的网络应用程序门户。最终用户可以在启用 MFA 的 OKTA 身份中使用。
前端:Angular SPA
后端:Spring 微服务
需要设置 WSO2 API 管理器并与 OKTA 服务集成。
WSO2 API 管理器必须与 OKTA 集成才能使用 OKTA 执行最终用户身份验证。
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 门户登录。
没有发现对我们的用例具有决定性意义。
这对 WSO2 API 管理器可行吗?
还是应该将 OKTA 集成移至 Apache Web 服务器?
应如何让 WSO2 API 管理器了解 OKTA 令牌验证。
【问题讨论】:
【参考方案1】:以下是为达到相同目的而执行的步骤。
直接将 Angular 应用程序与 OKTA 集成。链接here。
通过管理控制台将 OKTA 添加为 WSO2 APIM 中的密钥管理器。链接here。
使用 OKTA 作为允许的密钥管理器发布应用程序 API,其余 WSO2 功能必须使用常驻密钥管理器。 在 devPortal 中,创建应用程序并使用客户端 ID 配置 OKTA,并将客户端密码保持为空。 订阅所需的 API。 从前端应用程序,登录 OKTA 并生成访问令牌,将其与每个 API 请求一起传递。 WSO2 OKTA 密钥管理器将成功验证令牌并路由请求。【讨论】:
以上是关于使用 OKTA 的 WSO2 最终用户身份验证的主要内容,如果未能解决你的问题,请参考以下文章
在 JAVA 中通过身份验证后如何获取 okta 用户详细信息/当前会话