直到现在,我一直使用openid-connect,现在想了解saml的工作原理。
我不确定SAML声明的定义方式和位置。我知道这些是Idp回应的一部分。但是ServiceProvider是否有可能要求用户的特定数据(如通过oidc发出的声明)?
比方说,用户具有一个ID,名字,姓氏和电子邮件。 服务提供商是否可能仅请求这些信息的子集?还是这些声明在Idp上定义,甚至可能限制于每个服务提供商? 我能想到的最坏的情况是,Idp总是将用户的所有信息返回给服务提供商...
答案 0 :(得分:1)
通常这些都是在IDP上配置的。
在ADFS中,例如它们是由IDP上的声明规则定义的。
在SAML中,有一个名为NameID的“特殊”声明,它是强制性的。
从本质上讲,它充当将两个系统映射在一起的主键。