如何使用SSO在两个应用程序之间共享数据?

时间:2018-07-24 13:45:22

标签: single-sign-on saml data-sharing

这不是“代码”问题,更是哲学​​/体系结构问题。

让我们想象一下,我们有2个具有Single Sign-On的应用程序(服务提供商)。他们显然必须共享数据,主要是用户信息(用户名,电子邮件等)。身份验证成功后,此数据由身份提供者管理并“提供”给服务提供者(我想是基础知识)。

我们还可以想象这两个应用程序本身都有自己的数据库,它们与从IDP检索到的每个用户匹配,但是每个数据库都有自己的信息(列),这些信息仅属于其关联的应用程序(不属于其他应用程序!)。但是(另一个),还有一些其他字段都必须访问(除了用户名,电子邮件等)。 例如,第一个应用程序具有可用公司的列表,第二个应用程序在创建新用户以将该用户与可用公司相关联时需要该信息。该如何共享数据?这是创建API以在应用程序之间提供此类信息的最佳/正确方法吗?我主要是在谈论那些太大而无法通过断言发送的事物的列表。

谢谢!

1 个答案:

答案 0 :(得分:1)

SAML方法是使用NameID作为“主键”,以将IDP中的用户映射到应用程序中的用户。

例如电子邮件可以作为应用程序1的NameID发送,而UPN可以作为应用程序2的NameID发送。这些将在断言中。

获取信息。应用之间的交互不是IDP的一部分(除了使用断言),因此必须通过API来完成。