58 lines
1.9 KiB
C#
58 lines
1.9 KiB
C#
using Microsoft.AspNet.Http.Authentication;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Security.Claims;
|
|
|
|
namespace OAuth.AspNet.AuthServer
|
|
{
|
|
/// <summary>
|
|
/// Exposes the security.SignIn environment value as a strong type.
|
|
/// </summary>
|
|
public class AuthenticationResponseGrant
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="AuthenticationResponseGrant"/> class.
|
|
/// </summary>
|
|
/// <param name="identity"></param>
|
|
/// <param name="properties"></param>
|
|
public AuthenticationResponseGrant(ClaimsIdentity identity, AuthenticationProperties properties)
|
|
{
|
|
Principal = new ClaimsPrincipal(identity);
|
|
Identity = identity;
|
|
Properties = properties;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="AuthenticationResponseGrant"/> class.
|
|
/// </summary>
|
|
/// <param name="principal"></param>
|
|
/// <param name="properties"></param>
|
|
public AuthenticationResponseGrant(ClaimsPrincipal principal, AuthenticationProperties properties)
|
|
{
|
|
if (principal == null)
|
|
{
|
|
throw new ArgumentNullException("principal");
|
|
}
|
|
|
|
Principal = principal;
|
|
Identity = principal.Identities.FirstOrDefault();
|
|
Properties = properties;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The identity associated with the user sign in.
|
|
/// </summary>
|
|
public ClaimsIdentity Identity { get; private set; }
|
|
|
|
/// <summary>
|
|
/// The security principal associated with the user sign in.
|
|
/// </summary>
|
|
public ClaimsPrincipal Principal { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Dictionary used to store state values about the authentication session.
|
|
/// </summary>
|
|
public AuthenticationProperties Properties { get; private set; }
|
|
}
|
|
}
|