Skip to content
This repository was archived by the owner on Nov 20, 2018. It is now read-only.

Add AuthenticationProperties to AuthenticateResult for failures. #889

Merged
merged 1 commit into from
Sep 27, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ protected AuthenticateResult() { }
/// <summary>
/// Additional state values for the authentication session.
/// </summary>
public AuthenticationProperties Properties => Ticket?.Properties;
public AuthenticationProperties Properties { get; protected set; }

/// <summary>
/// Holds failure information from the authentication.
Expand All @@ -54,7 +54,7 @@ public static AuthenticateResult Success(AuthenticationTicket ticket)
{
throw new ArgumentNullException(nameof(ticket));
}
return new AuthenticateResult() { Ticket = ticket };
return new AuthenticateResult() { Ticket = ticket, Properties = ticket.Properties };
}

/// <summary>
Expand All @@ -79,11 +79,29 @@ public static AuthenticateResult Fail(Exception failure)
/// <summary>
/// Indicates that there was a failure during authentication.
/// </summary>
/// <param name="failureMessage">The failure message.</param>
/// <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(string failureMessage)
public static AuthenticateResult Fail(Exception failure, AuthenticationProperties properties)
{
return new AuthenticateResult() { Failure = new Exception(failureMessage) };
return new AuthenticateResult() { Failure = failure, Properties = properties };
}

/// <summary>
/// Indicates that there was a failure during authentication.
/// </summary>
/// <param name="failureMessage">The failure message.</param>
/// <returns>The result.</returns>
public static AuthenticateResult Fail(string failureMessage)
=> Fail(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);
}
}