saml – 通过索赔

是否可以将SAML声明发送到ADFS,然后让ADFS使用该传入声明中的值来生成自己的声明?

基本上,我们需要发送a)关于用户的信息(相当简单),以及b)关于目标的信息(手头的问题).目标由用户在SSO时选择.

我已经建议我将动态数据存储在数据库中,然后将其放入ADFS中,但如果用户尝试同时在两个窗口中打开两个目标,则存在创建问题的风险.

编辑:当用户SSO进入目标应用程序时,他们将进入显示特定项目信息的屏幕.我们需要提供用户需要查看的项目 – 用户将在源应用程序中选择该项目.

从本质上讲,用户进入站点A,点击第2项,在上下文中将项目2进入站点B.如果用户改为选择项目7,则他们在上下文中使用项目7进入站点B.此信息与用户无关,因为用户可以访问任何项目,但需要在SAML令牌中提供给站点B.

最佳答案 首先,“maweeras”非常具有说服力.你可以相信答案/评论是正确的:-).

正如maweeras所说:要将其纳入SAML令牌,您必须使用“声明规则”.麻烦在于将其纳入索赔规则的输入集.这可以是以下内容:a.特定于用户(你说你不想这样,可以修复多个窗口,但确实很糟糕),b.另一个SAML令牌发行者,或c.从一些非常具体的HTTP标头.

在您指定时,仅选项c.遗迹.我已经很强硬,我必须警告你要非常谨慎,因为所有这些都可能会产生特定的后果.有些人会说你在滥用它们.射击自己的脚.

不是答案,而是小费.您没有在SAML令牌中指定所需的原因.如果可能的话,我会尝试将它放在从应用程序A到应用程序B的重定向的查询参数中.这将保留在wctx中(如果身份验证启动).您可能已经必须在那里添加其他几个以确保用户将获得正确的SSO(IdP,authnlevel等).如果您需要签名,请在将其填入重定向之前对其进行签名?

点赞