【发布时间】:2020-12-05 07:09:51
【问题描述】:
我有一个带有快速服务器的 Angular 应用程序,其中 Okta 充当 IdP。这已经设置并且运行良好。现在,我需要从使用 Amazon Cognito 的外部应用程序支持 SSO。他们通过向我们提供 clientId 和 Secret 为我们的应用启用了 OAuth2 Auth 代码流。
我想了解的是我应该在哪里与 accessTokens 交换 authCode,以及我应该如何为通过 Okta 中的 SSO 来的用户管理会话。我有几个选择:
-
我在使用“angular-oauth2-oidc”库的 Angular 应用程序中进行了尝试,但在使用 AWS Cognito 调用 /authorize 端点时遇到了 CORS 问题。此外,似乎在前端通道中将 authCode 与 accessToken 交换可能不是最安全的方式。
-
对于 SSO 用户,我可以在 express 中编写一个新的路由处理程序来管理令牌交换,并将此路由作为对 Cognito 的初始授权调用中的回调 url。但是,我的 express 服务器已经使用“express-stormpath”sdk 来处理我们通常情况下的会话管理,其中 Okta 充当 IdP。如何使用 Cognito IdP 在同一个地方快速管理本地 Okta 用户会话和 SSO 用户会话。
-
我还尝试将 Okta 联合设置为外部 IdP。但是,我不确定如何将身份验证调用路由到外部 IdP,而 Okta 本身充当我们内部用户的 IdP。
我更倾向于 3,我只与 Okta 交谈,它负责为我们的内部用户 (Okta IdP) 以及来自外部 IdP (Cognito) 的 SSO 用户管理身份验证。
这里的任何帮助将不胜感激..
谢谢, RK
【问题讨论】:
标签: node.js angular express oauth-2.0 okta