Я создаю аутентификацию Azure AD, которая работает нормально, единственная проблема заключается в том, что если пользователь щелкает ссылку, которая выглядит как host.com/xxx/bbb, если он не аутентифицирован, то он перенаправляется в root.
Мне нужно, чтобы они по-прежнему были перенаправлены на исходный URL-адрес, введенный в браузере.Может ли это быть достигнуто?Ниже приведен фрагмент кода, который я использую при запуске приложения:
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = XXX,
Authority = string.Format("https://login.microsoftonline.com/{0}", YYY,
Notifications = new OpenIdConnectAuthenticationNotifications
{
RedirectToIdentityProvider = async n => { await Task.Run(() => SetRedirectUrl(n)); }
}
});
}
private static void SetRedirectUrl(RedirectToIdentityProviderNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
{
notification.ProtocolMessage.RedirectUri = notification.Request.Uri.AbsoluteUri;
}
Ни одно из свойств OwinRequest не содержит полный путь, который я ищу.Я также попытался посмотреть на
HttpContext.Current.Request.Url
, но у него также нет полного адреса.