我已經爲社交和本地帳戶基於Active Directory B2C custom policy starter pack的示例爲社交和本地帳戶創建了自定義策略。我已經啓用了微軟和谷歌的登錄功能,並測試了兩者都可以工作,我也啓用了使用本地帳戶登錄。Azure AD B2C在自定義政策中將聲明添加到id_token
當我log in with google我得到下面的權利要求
EXP,NBF,版本,ISS,分,澳元,ACR,現時,IAT,auth_time,電子郵件,GIVEN_NAME,FAMILY_NAME,名稱,IDP,at_hash
當我登錄到custom Azure AD tenant權利要求集缺失「電子郵件」,但電子郵件的「名稱」要求
EXP,NBF,版本,ISS,分,澳元上市, ACR,現時,IAT,auth_time,給予_name,FAMILY_NAME,名稱,IDP,at_hash
當我登錄爲本地帳戶組權利要求中缺少「電子郵件」,也沒有在任何字段中列出的電子郵件。
EXP,NBF,版本,ISS,分,澳元,ACR,現時,IAT,auth_time,GIVEN_NAME,FAMILY_NAME,名稱,at_hash
最後,當我看着用戶的列表B2C管理員,這些都是不同的用戶條目...即使電子郵件地址是相同的。所以,我有2個問題,
- 我如何獲得一套統一的id_token
- 要求我如何在註冊時所有這些帳戶連接在一起的(同UPN)
我相信這些可能是相關的,這就是爲什麼我一起問他們。 您可能想查看策略,但我向您保證它們與入門套件中的策略完全相同,我所做的只是更改租戶名稱,並在信任框架擴展文件中添加Google和Azure。
有一個功能請求合併所有的電子郵件在單一帳戶下https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/13214529-azure-ad-b2c-how-to -avoid-validate-duplicate -s Upvote there – Ramakrishna