Microsoft graph api 使用Graph API向Azure B2C添加用户时允许所有域

Microsoft graph api 使用Graph API向Azure B2C添加用户时允许所有域,microsoft-graph-api,azure-ad-b2c,Microsoft Graph Api,Azure Ad B2c,我正试图通过Graph API(C#)将一个带有电子邮件…@gmail.com的用户添加到我的B2C目录中。我得到的回应是: userPrincipalName属性的域部分无效。你 必须使用组织中已验证的域名之一 此系统需要允许任何电子邮件域的用户登录。用户需要登录到网站,而不是访问Azure门户 有没有一种方法可以在不手动添加每个域的情况下实现这一点 通过图形API添加用户的代码: var confidentialClientApplication = ConfidentialClientAp

我正试图通过Graph API(C#)将一个带有电子邮件
…@gmail.com
的用户添加到我的B2C目录中。我得到的回应是:

userPrincipalName属性的域部分无效。你 必须使用组织中已验证的域名之一

此系统需要允许任何电子邮件域的用户登录。用户需要登录到网站,而不是访问Azure门户

有没有一种方法可以在不手动添加每个域的情况下实现这一点

通过图形API添加用户的代码:

var confidentialClientApplication = ConfidentialClientApplicationBuilder
    .Create(clientId)
    .WithTenantId(tenantId)
    .WithClientSecret(clientSecret)
    .Build();

var authProvider = new ClientCredentialProvider(confidentialClientApplication);
            
var graphClient = new GraphServiceClient(authProvider);

var user = new User
{
    AccountEnabled = true, 
    DisplayName = emailAddress,
    MailNickname = emailAddress.Split('@').FirstOrDefault(),
    UserPrincipalName = emailAddress,
    PasswordProfile = new PasswordProfile
    {
        ForceChangePasswordNextSignIn = true,
        Password = tempPassword
    }
};

如果您试图创建本地B2C(非AAD)帐户,请尝试在请求中设置属性,但不要设置upn。最后一个应该是自动生成的。此外,必须禁用密码过期,并且还必须禁用在下次登录时强制更改密码。

在删除Mail昵称和UPN并替换为:
Identifications=new List{new ObjectIdentity{signentype=“emailAddress”,Issuer=domainName,issuerasignedid=emailAddress},