我正在建立一个依赖方(RP),它将与客户提供的身份提供商(IdP)集成在一起(首先是OpenID Connect,但以后可能是SAML),在许多情况下,我们希望这些IdP是SaaS供应商,客户不能完全控制IdP。对于我们特定的RP客户,他们也不能完全控制我们的应用程序(即他们无法操纵数据库)。
我很好奇,在现实世界中,我们将如何支持用户在IdP之间迁移的流程(例如,用户决定从中迁移并希望在我们的应用程序中保留配置文件)。通常,在这些情况下,这与联合两个身份(提示用户征得用户同意)的工作流程不同。
我对规范和学术解决方案的了解是,用户仅由iss
和sub
标识,因此我们系统中的用户将与多组{{1 }}和iss
,并且当客户要迁移时,他们将从其当前的IdP导出列表,提供到新的sub
和iss
的映射,并将其上传到我们的系统。我不确定许多IdP是否允许您导出此数据或流程的可用性。我想知道在大多数情况下它们是否只是使用或假设存在其他稳定标识符even though it contradicts the spec。