Azure登录 - 为错误请求指定回调网址

时间:2016-06-29 20:45:46

标签: c# azure-active-directory azure-web-sites openid

我已将Web应用程序配置为使用Azure Auth登录。一切正常,用户可以登录,如果他们尚未登录Azure。

我的问题是,当用户已登录到Office 365的Azure并且他们浏览到我的网站时,他们会在下面收到此错误。我理解错误的含义,但我想知道如果出现此问题,是否有办法重定向到另一个URL(在我的网站上)。这是错误: enter image description here

这是我配置OpenId Auth的启动代码:

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions {
    ClientId = Configuration.clientID,
        Authority = authenticationAuthority,
        PostLogoutRedirectUri = Configuration.logoutRedirectURL,
        Notifications = new OpenIdConnectAuthenticationNotifications {
            AuthenticationFailed = context => {
                context.HandleResponse();
                context.Response.Redirect("/Unauthorised.aspx?message=" + context.Exception.Message);
                return Task.FromResult(0);
            }
        }
});

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决此问题,具体取决于您的情况。

如果要使用其现有的凭据对它们进行身份验证,则可以enable multi-tenant support进行应用程序的注册。这将允许外部用户使用他们自己的AAD凭据(而不是您的AAD租户中的一个)对您的应用程序进行身份验证。

如果您需要使用凭据强制他们进行重新认证,则可以将prompt=login添加到您的初始授权URI(https://login.microsoft.com/{tenant}/oauth/authorize?...&prompt=login)中。即使他们已经有一个活动的身份验证cookie,这也会迫使用户针对您的应用程序进行身份验证(在大多数情况下,“身份验证”在这里只是意味着用户将需要从列表中选择一个帐户,而不是重新输入ID和密码) )。