【发布时间】:2022-01-13 08:09:24
【问题描述】:
我想在我的 APP 中集成所有可能的身份提供程序,例如 Auth0 SSO OIDC、Onelogin SSO OIDC、Google SSO OIDC 等。
那么这可以用来实现吗?
【问题讨论】:
标签: javascript reactjs npm single-sign-on openid-connect
我想在我的 APP 中集成所有可能的身份提供程序,例如 Auth0 SSO OIDC、Onelogin SSO OIDC、Google SSO OIDC 等。
那么这可以用来实现吗?
【问题讨论】:
标签: javascript reactjs npm single-sign-on openid-connect
通常的流程是:
您的应用在与 AS 交互时使用安全库:
一个好的目标是保留基于标准 OAuth 消息的应用程序代码,这样您就可以将 AS 切换到不同的 AS,而代码更改为零或只有少量更改。 Okta 库在这里看起来不错 - 类似于 oidc-client。
身份提供者
Okta 系统及其库非常基于标准,但不幸的是,并非所有 IDP 都如此。因此,如果您使用 Okta 库连接到 OneLogin 或 Google,您可能会发现不兼容和问题。如果您使用 AS,它会为您处理这些。
要求
如果你正在构建 React SPA,那么你还应该明确你想要在浏览器中的行为:
有关更安全的方法(但也是更复杂的流程),请参阅我的 Token Handler 博客文章。
无论如何,希望以上所有内容都能为您提供一些有用的背景知识,供您选择自己的技术。
【讨论】:
如果您想支持多个 IdP,请尝试使用通用 SDK,而不是特定身份提供商提供的 SDK。
【讨论】: