我正在尝试将ADFS配置为OpenID提供程序,作为多个应用程序堆栈的通用身份验证系统(我的目标是定义可在多个堆栈上使用的解决方案)。
经过多次测试后,我们达到了能够验证用户身份并检索id_token的级别。
现在,问题在于我们在默认ID令牌中收到的声明中没有包含我们考虑过的一些声明"标准"例如电子邮件。
我们目前使用我们的企业Active Directory作为Claim Provider Trust。
我们收到的声明列表是本文限制部分声明为默认声明的部分内容:
https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/adfs
提供的声明是:
aud,authenticationinstant,c_hash,exp,iat,iss,name,nameidentifier,nonce,upn,pwd_exp
在我们的例子中,upn字段与email属性匹配,因此我们有一种解决方法。
无论如何,我的目标是能够将电子邮件声明作为id令牌的一部分发送,以便使用当前正在使用的其他OP标准化我们的解决方案,并且不强制应用程序更改其代码库。
如何配置ADFS以通过ID令牌发送附加声明?
答案 0 :(得分:4)
该文章有些误导,因为Azure AD处于混合状态并且您具有联合。
它还显示默认情况下没有得到的“pwd_exp”。你必须启用它。
就您的问题而言,没有办法增加索赔,因为没有标签可以输入索赔规则。
请参阅Customizing Id_Token Claims with OpenId Connect in AD FS 2016,了解使用“访问网络应用程序的Web浏览器”配置文件解决此问题的方法。