Azure B2C广告/dotnetcore 2.0 MVC应用程序未授权

Azure B2C广告/dotnetcore 2.0 MVC应用程序未授权,azure,asp.net-core-mvc,azure-ad-b2c,asp.net-core-2.0,Azure,Asp.net Core Mvc,Azure Ad B2c,Asp.net Core 2.0,我已经在上完成了教程的学习,并且有理由相信我已经正确设置了Azure B2C租户-我已经通过Azure门户测试了登录功能,一切都很好 但是,使用演示应用程序,我无法登录。我没有收到任何错误,我可以通过浏览器开发工具看到请求发送到门户,但它几乎立即返回,没有给我登录页面,我的应用程序仍然处于“登录”状态。以下是网络活动的屏幕截图(FirefoxDeveloper) B2C门户中没有记录任何登录活动,也没有任何错误……我们将衷心感谢您的帮助 找到了问题。创建B2C应用程序的演练没有提到您需要将“/

我已经在上完成了教程的学习,并且有理由相信我已经正确设置了Azure B2C租户-我已经通过Azure门户测试了登录功能,一切都很好

但是,使用演示应用程序,我无法登录。我没有收到任何错误,我可以通过浏览器开发工具看到请求发送到门户,但它几乎立即返回,没有给我登录页面,我的应用程序仍然处于“登录”状态。以下是网络活动的屏幕截图(FirefoxDeveloper)


B2C门户中没有记录任何登录活动,也没有任何错误……我们将衷心感谢您的帮助

找到了问题。创建B2C应用程序的演练没有提到您需要将“/signin oidc”附加到回复URL中

回调路径在OpenIdConnectOptions实例中设置,默认为“signin oidc”,例如获取示例代码

public void Configure(string name, OpenIdConnectOptions options)
{
    options.ClientId = AzureAdB2COptions.ClientId;
    options.Authority = AzureAdB2COptions.Authority;
    // This is the default value
    options.CallbackPath = "signin-oidc";
    options.UseTokenLifetime = true;
    options.TokenValidationParameters = new TokenValidationParameters() { NameClaimType = "name" };

    options.Events = new OpenIdConnectEvents()
    {
        OnRedirectToIdentityProvider = OnRedirectToIdentityProvider,
        OnRemoteFailure = OnRemoteFailure,
        OnAuthorizationCodeReceived = OnAuthorizationCodeReceived
    };
}
无论您将其设置为什么,都必须在Azure B2C租户中对齐ReplyUri,例如

http://myapp.com/signin-oidc