我在将当前登录用户的用户名从 Azure b2c 获取到我的 Blazor Web 应用程序时遇到一些问题。本质上,我想创建一个用户名帐户,其中用户名是用户主体名称。我最初使用的是电子邮件注册策略,其中显示名称作为用户名。然而,b2c 并不强制显示名称是唯一的,因此存在一个固有的问题。没有返回带有用户名的声明,因此我无法在 Blazor 应用程序中密切关注登录者或显示他们的用户名。我可以做一些选择,我很好奇哪一个最容易实现/如何实现它,因为过去几个小时我一直在为此抓狂。
- 在创建 B2C 帐户时,采用用户主体名称并将其设为显示名称
- 通过声明发送用户主体名称(不知道如何执行此操作)
- 电子邮件是否使用显示名称进行注册,但以某种方式强制实施 B2C 以确保显示名称是唯一的
- 为 B2C 用户提供唯一显示名称的其他方法
提前致谢!
您需要使用自定义策略:https://aka.ms/ief https://aka.ms/ief。用户名不会在用户流的令牌中返回。
使用自定义策略,您可以使用用户名注册用户,并将其用户名(signInNames.username 属性,在 Azure 门户中显示为 userPrincipalName)返回到令牌中。
您可以使用我的工具快速部署自定义策略here https://aka.ms/iefsetup。并使用快速部署用户名示例这一页 https://b2ciefsetupapp.azurewebsites.net/Home/Experimental与示例文件夹名称 username-signup-or-signin
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)