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

时间:2017-10-25 10:20:53

标签: azure asp.net-core-mvc azure-ad-b2c asp.net-core-2.0

我已经按照compatibility table上的教程进行操作,并且有理由相信我已经正确设置了我的Azure B2C租户 - 我已经通过Azure门户测试了登录功能,一切都很好。

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

https://blogs.msdn.microsoft.com/webdev/2017/10/17/user-accounts-made-easy-with-azure/#comment-312956

B2C门户网站上没有记录任何登录活动,任何地方都没有任何错误......我们将非常感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

发现了这个问题。创建B2C应用程序的演练未提及您需要将“/ signin-oidc”附加到回复URL

答案 1 :(得分:0)

回调路径在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