Honor AuthenticationProperties.RedirectUri in CookieAuthenticationHandler
This commit is contained in:
parent
2bc207fa8c
commit
6a9f1f9887
|
|
@ -311,14 +311,24 @@ namespace Microsoft.AspNetCore.Authentication.Cookies
|
||||||
Response.Headers[HeaderNames.CacheControl] = HeaderValueNoCache;
|
Response.Headers[HeaderNames.CacheControl] = HeaderValueNoCache;
|
||||||
Response.Headers[HeaderNames.Pragma] = HeaderValueNoCache;
|
Response.Headers[HeaderNames.Pragma] = HeaderValueNoCache;
|
||||||
Response.Headers[HeaderNames.Expires] = HeaderValueMinusOne;
|
Response.Headers[HeaderNames.Expires] = HeaderValueMinusOne;
|
||||||
|
|
||||||
if (shouldRedirectToReturnUrl && Response.StatusCode == 200)
|
if (shouldRedirectToReturnUrl && Response.StatusCode == 200)
|
||||||
{
|
{
|
||||||
|
CookieRedirectContext redirectContext = null;
|
||||||
|
|
||||||
var query = Request.Query;
|
var query = Request.Query;
|
||||||
var redirectUri = query[Options.ReturnUrlParameter];
|
var redirectUri = query[Options.ReturnUrlParameter];
|
||||||
if (!StringValues.IsNullOrEmpty(redirectUri)
|
if (!StringValues.IsNullOrEmpty(redirectUri) && IsHostRelative(redirectUri))
|
||||||
&& IsHostRelative(redirectUri))
|
{
|
||||||
|
redirectContext = new CookieRedirectContext(Context, Options, redirectUri, properties);
|
||||||
|
}
|
||||||
|
else if (!string.IsNullOrEmpty(properties.RedirectUri) && IsHostRelative(properties.RedirectUri))
|
||||||
|
{
|
||||||
|
redirectContext = new CookieRedirectContext(Context, Options, properties.RedirectUri, properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (redirectContext != null)
|
||||||
{
|
{
|
||||||
var redirectContext = new CookieRedirectContext(Context, Options, redirectUri, properties);
|
|
||||||
await Options.Events.RedirectToReturnUrl(redirectContext);
|
await Options.Events.RedirectToReturnUrl(redirectContext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue