我的 Azure B2C 具有自定义策略,并启用了本地登录和 Microsoft 帐户登录。我已从入门包开始,并进行了一些修改以添加用于验证的自定义逻辑并添加其他声明,如 here 所述。 .
使用 Microsoft 帐户一切正常。但我遇到了本地帐户登录问题。
电子邮件声明仅在用户注册时填充,但在登录时不填充。如果登录,电子邮件是“signInNames.emailAddress”声明的一部分。我尝试按照解释进行更改here和 here 。我希望将电子邮件填充到电子邮件声明中,因为我的 API 使用此声明。
从我的 REST API 返回的其他 calim 不会添加到仅用于本地登录的 token 中。它们是为 Microsoft 帐户添加的。
谢谢。
更新:对于第 2 点,它是我的策略文件的问题,现已修复。
最佳答案
有一个简单的方法可以返回 email
claim 。
只需替换 <OutputClaim ClaimTypeReferenceId="email" />
与 <OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="email" />
在你的SignUporSignIn.xml
文件。
您需要注册新的本地用户,然后登录进行测试。您将看到email
claim 。
事实上,这个解决方案已经由@Wayne Yang在 post 中提供了。你分享了。
关于azure - 电子邮件声明未使用 Azure B2C 中的自定义策略填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59669666/