Azure使用Microsoft.Graph.GraphServiceClient添加用户身份验证方法
我正在使用GraphServiceClient创建新用户,并将SignityType作为用户名,如下所示:Azure使用Microsoft.Graph.GraphServiceClient添加用户身份验证方法,azure,azure-ad-b2c,Azure,Azure Ad B2c,我正在使用GraphServiceClient创建新用户,并将SignityType作为用户名,如下所示: var user = new User { AccountEnabled = true, GivenName = "Joe", Surname = "Bob", DisplayName = "Name&q
var user = new User
{
AccountEnabled = true,
GivenName = "Joe",
Surname = "Bob",
DisplayName = "Name",
Mail = "joe@bob.com",
MobilePhone = "111111111",
Identities = new List<ObjectIdentity>()
{
new ObjectIdentity
{
SignInType = "userName",
Issuer = "<Issuer...>",
IssuerAssignedId = "someName"
},
},
PasswordProfile = new PasswordProfile
{
ForceChangePasswordNextSignIn = false,
Password = "<pass>"
},
PasswordPolicies = "DisablePasswordExpiration,DisableStrongPassword",
};
await gsc.Users.Request().AddAsync(user);
var user=新用户
{
AccountEnabled=true,
givename=“乔”,
姓氏=“鲍勃”,
DisplayName=“Name”,
邮件=”joe@bob.com",
MobilePhone=“111111111”,
标识=新列表()
{
新客观性
{
signentype=“用户名”,
发行人=”,
issuerasignedid=“someName”
},
},
PasswordProfile=新的PasswordProfile
{
ForceChangePasswordNextSignIn=false,
Password=“”
},
PasswordPolicys=“DisablePasswordExpiration,DisableStrongPassword”,
};
等待gsc.Users.Request().AddAsync(用户);
在Azure中创建该用户后,我可以使用该帐户登录到使用B2C登录策略的应用程序。但是,当我想为该用户调用ResetPassword策略时,在成功地通过电子邮件验证之后,我得到一个错误:“无法找到提供的用户ID的帐户。”。经过一些尝试和错误,我发现当我填写电子邮件输入时,azure用户配置文件选项卡“身份验证方法”中缺少数据。一切正常,用户可以重置密码
因此,我正在寻找一种方法,如何在创建期间将用户电子邮件填充到“身份验证方法”部分。在这种情况下,如果您希望通过Graph API创建用户,则无法填充strongAuthenticationEmail属性usng Graph API。此属性保存与用于密码重置操作的基于用户名的帐户关联的电子邮件。用户流将在密码重置期间读取此属性。因此,这是行不通的 您需要为基于用户名的旅程使用自定义策略,并用扩展名替换所有strongAuthenticationEmail实例。然后在Graph API负载中,将电子邮件地址插入一个名为extension\u GUID\u的键中
谢谢,有没有办法通过代码填充此strong身份验证电子邮件?使用Azure AD Graph API或其他什么?不,因此我的答案是嘿,还有一个问题,我不确定如何从代码中插入此扩展,我添加了一个额外的道具,如下所示:
AdditionalData=new Dictionary(){“extension_1111111111111_customEmail”test@test.com" },},
但它不起作用:(我在自定义策略中没有看到此值。您将其作为输出声明添加到正在执行读取操作的AAD技术配置文件中?您不会在门户中看到此声明。