Add AuthenticationProperties to AuthenticateResult for failures.

This commit is contained in:
Chris R 2017-07-06 12:25:54 -07:00 committed by Chris Ross (ASP.NET)
parent 835ba2218a
commit 321639b0eb
1 changed files with 23 additions and 5 deletions

View File

@ -31,7 +31,7 @@ namespace Microsoft.AspNetCore.Authentication
/// <summary> /// <summary>
/// Additional state values for the authentication session. /// Additional state values for the authentication session.
/// </summary> /// </summary>
public AuthenticationProperties Properties => Ticket?.Properties; public AuthenticationProperties Properties { get; protected set; }
/// <summary> /// <summary>
/// Holds failure information from the authentication. /// Holds failure information from the authentication.
@ -54,7 +54,7 @@ namespace Microsoft.AspNetCore.Authentication
{ {
throw new ArgumentNullException(nameof(ticket)); throw new ArgumentNullException(nameof(ticket));
} }
return new AuthenticateResult() { Ticket = ticket }; return new AuthenticateResult() { Ticket = ticket, Properties = ticket.Properties };
} }
/// <summary> /// <summary>
@ -76,14 +76,32 @@ namespace Microsoft.AspNetCore.Authentication
return new AuthenticateResult() { Failure = failure }; return new AuthenticateResult() { Failure = failure };
} }
/// <summary>
/// Indicates that there was a failure during authentication.
/// </summary>
/// <param name="failure">The failure exception.</param>
/// <param name="properties">Additional state values for the authentication session.</param>
/// <returns>The result.</returns>
public static AuthenticateResult Fail(Exception failure, AuthenticationProperties properties)
{
return new AuthenticateResult() { Failure = failure, Properties = properties };
}
/// <summary> /// <summary>
/// Indicates that there was a failure during authentication. /// Indicates that there was a failure during authentication.
/// </summary> /// </summary>
/// <param name="failureMessage">The failure message.</param> /// <param name="failureMessage">The failure message.</param>
/// <returns>The result.</returns> /// <returns>The result.</returns>
public static AuthenticateResult Fail(string failureMessage) public static AuthenticateResult Fail(string failureMessage)
{ => Fail(new Exception(failureMessage));
return new AuthenticateResult() { Failure = new Exception(failureMessage) };
} /// <summary>
/// Indicates that there was a failure during authentication.
/// </summary>
/// <param name="failureMessage">The failure message.</param>
/// <param name="properties">Additional state values for the authentication session.</param>
/// <returns>The result.</returns>
public static AuthenticateResult Fail(string failureMessage, AuthenticationProperties properties)
=> Fail(new Exception(failureMessage), properties);
} }
} }