如何使遗留身份提供程序与联邦登录标准兼容?



我们称A为提供api和web应用程序的平台。A包含一个使用OAuth2并拥有自己用户的认证/授权服务器(Auth0是所选择的解决方案)对于属于A组织的用户,一切都运行良好。

组织有业务合作伙伴,这些合作伙伴有他们的平台,使用某种遗留身份验证。我们把B称为这个平台。

  • B想要访问A的服务
  • A trust B
  • B认证的用户应该访问A服务而不需要第二次登录A

A允许联合登录,似乎B可以被视为遵循A理解的某些标准的身份提供者(例如OIDC,但其他标准为A所知:Auth0 SSO)。

我想知道如何在不完全改变用户在B上的身份验证方式的情况下将B转换为实现标准的联邦登录解决方案。

我想象有某种接口,带有一个适配器,可以实现像OIDC这样的标准

我发现的解决方案总是意味着从遗留解决方案迁移到标准解决方案。

好问题-因为OIDC没有指定应该如何进行身份验证-只有之前和之后的消息。

接口概念存在于一些提供程序中,例如在security SDK中,它有一个可扩展的身份验证器概念-您可以在GitHub Repos中找到很多这样的概念。

理想情况下

方法大致如下:

  • 自定义认证器写入
  • 自定义身份验证器插入到授权服务器
  • 遗留系统需要更新,以显示新类型请求消息的登录屏幕
  • 需要更新遗留系统以提供不同的身份验证结果

在实践中

大多数提供者不支持这种类型的解决方案,对遗留系统的影响可能不是微不足道的。而且很容易出现安全问题。

因此,通常指定合作伙伴在与您集成之前必须满足基于先决条件的标准(例如SAML或OIDC)。这通常是更安全的方法。

最新更新