是否可以将SAML声明发送到 ADFS,然后让ADFS使用该传入声明中的值来生成自己的声明?
基本上,我们需要发送a)有关用户的信息(相当简单),以及b)有关目标的信息(手头的问题)。目标由用户在SSO时选择。
我已经建议我将动态数据存储在数据库中,然后将其拉入ADFS,但如果用户试图在同一个窗口中打开两个目标,则存在创建问题的风险时间。
编辑:当用户进入目标应用程序时,他们将进入显示特定项目信息的屏幕。我们需要提供用户需要查看的项目 - 用户将在源应用程序中选择该项目。
基本上,用户进入站点A,点击第2项,在上下文中将项目2进入站点B。如果用户改为选择项目7,则他们在上下文中使用项目7进入站点B.此信息与用户无关,因为用户可以访问任何项目,但需要在SAML令牌中提供给站点B.
答案 0 :(得分:2)
首先" maweeras"非常具有说服力。您可以相信答案/评论是正确的: - )。
正如maweeras所说:要将其纳入SAML令牌,您必须使用"声明规则"。麻烦在于将其纳入索赔规则的输入集。这可以是以下内容:a。特定于用户(你说你不想这样,可以修复多个窗口,但确实很糟糕),b。另一个SAML令牌发行者,或c。来自一些非常具体的HTTP标头。
指定时,只有选项c。遗迹。我已经很强硬,我必须警告你要非常谨慎,因为所有这些都可能会产生特定的后果。有些人会说你在滥用它们。射击自己的脚。
不是答案,而是小费。您没有在SAML令牌中指定所需的原因。如果可能的话,我会尝试将它放在从应用程序A到应用程序B的重定向的查询参数中。这将保留在wctx中(如果身份验证启动)。您可能已经必须在那里添加其他几个以确保用户将获得正确的SSO(IdP,authnlevel等)。如果您需要签名,请在将其填入重定向之前对其进行签名?