Azure 邀请在广告B2C中创建的用户登录我的应用程序

Azure 邀请在广告B2C中创建的用户登录我的应用程序,azure,azure-ad-b2c,Azure,Azure Ad B2c,我有这个场景在ADB2C上正常工作 我可以使用ADAL创建用户。 (这是电话号码) 我的目标是发送用户邀请(电子邮件),让他加入我的appp 我发现在graph.microsoft.com(MS图而不是广告图)上有一个邀请管理器可用于此目的,如果您在B2C azure门户上创建用户,则可能是触发邀请的方式 那么,我是否需要为我的应用程序授予权限(与我获取应用程序的方式相同) 访问AD图上的令牌以管理用户) 我是否应该像在广告中一样获得MS图表上的标记 var authenticationCon

我有这个场景在ADB2C上正常工作 我可以使用ADAL创建用户。 (这是电话号码)

我的目标是发送用户邀请(电子邮件),让他加入我的appp

我发现在graph.microsoft.com(MS图而不是广告图)上有一个邀请管理器可用于此目的,如果您在B2C azure门户上创建用户,则可能是触发邀请的方式

  • 那么,我是否需要为我的应用程序授予权限(与我获取应用程序的方式相同) 访问AD图上的令牌以管理用户)
  • 我是否应该像在广告中一样获得MS图表上的标记

    var authenticationContext=新的authenticationContext(AuthString, 假)
    var clientCred=新的ClientCredential(ClientId, 客户机密)
    var身份验证结果= authenticationContext.AcquireTokenAsync(ResourceUrl,clientCred)
    var token=authenticationResult.Result.AccessToken

    此时ResourceUrl指向何处

以下是我的OwinOpenID AuthenticationCodeReceived回调:

AuthorizationCodeReceived = async (context) =>
{
    // get authentication context
    string userObjectID = context.AuthenticationTicket.Identity.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
    AuthenticationContext authContext = new AuthenticationContext($"https://login.microsoftonline.com/{AuthenticationHelper.Tenant}", new NaiveSessionCache(userObjectID));


    ClientCredential credential = new ClientCredential(AuthenticationHelper.ClientId, AuthenticationHelper.AppKey);
    AuthenticationResult result = await authContext.AcquireTokenAsync("https://graph.windows.net", credential);
    // ----> Token used on the authorization header for AD user management and work properly
    AuthenticationHelper.Token = result.AccessToken;


    // Token for MS graph
    ClientCredential MSCredential = new ClientCredential(AuthenticationHelper.MSClientId, AuthenticationHelper.MSAppKey);
    AuthenticationResult resultMSGraph = await authContext.AcquireTokenAsync("https://graph.microsoft.com", MSCredential);
    // ----> Token used on the authorization header for MS Graph and is not working !!
    AuthenticationHelper.MSGraphToken = resultMSGraph.AccessToken;
},

感谢您的帮助

Azure AD B2C不支持Microsoft Graph上的邀请管理器API。 目前,邀请管理器API旨在让企业/常规Azure广告租户邀请其他用户作为来宾(请参阅)

Azure AD B2C UserVoice论坛中已经有一个条目要求用户提供。我建议您投票支持此条目,以帮助我们确定其优先顺序,并及时了解其进展情况


在此期间,您必须自己实现此功能,或者是一封简单的欢迎电子邮件,或者是一个更复杂的“兑换代码”工作流

Azure AD B2C不支持Microsoft Graph上的邀请管理器API。 目前,邀请管理器API旨在让企业/常规Azure广告租户邀请其他用户作为来宾(请参阅)

Azure AD B2C UserVoice论坛中已经有一个条目要求用户提供。我建议您投票支持此条目,以帮助我们确定其优先顺序,并及时了解其进展情况


在此期间,您必须自己实现这一点,或者是一封简单的欢迎电子邮件,或者是一个更复杂的“兑换代码”工作流

谢谢Saca的提示。我同意它还没有得到支持,我已经投了票。现在我想探讨一下你的最后一个选择,这确实是写这篇文章的原因。我认为AuthorizationCodeReceived是兑换代码的正确位置,但我不知道如何使我的应用程序在MS graph上获得该权限。感谢Saca的提示。我同意它还没有得到支持,我已经投了票。现在我想探讨一下你的最后一个选择,这确实是写这篇文章的原因。我认为AuthorizationCodeReceived是兑换代码的正确位置,但我不知道如何使我的应用程序在MS graph上获得该权限。