public static User CreateUser(ClaimsIdentity claimsIdentity) { return(new User { Id = Int32.Parse(claimsIdentity.FindFirstValue(ClaimTypes.NameIdentifier)), Email = claimsIdentity.FindFirstValue(ClaimTypes.Email), FullName = claimsIdentity.FindFirstValue(ClaimTypes.GivenName), IsVerified = Boolean.Parse(claimsIdentity.FindFirstValue(ClaimTypeIsVerified)), TimeStamp = ClaimsMapper.GetTimeStamp(claimsIdentity.FindFirstValue(ClaimTypes.Version)) }); }
private static ClaimsIdentity CreateIdentity(ClaimsMapper claimsMapper, string authenticationType) { IList <Claim> claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.NameIdentifier, claimsMapper.Id, null, claimsMapper.Issuer, claimsMapper.OriginalIssuer)); claims.Add(new Claim(ClaimTypes.Email, claimsMapper.Email, null, claimsMapper.Issuer, claimsMapper.OriginalIssuer)); claims.Add(new Claim(ClaimTypes.GivenName, claimsMapper.FullName, null, claimsMapper.Issuer, claimsMapper.OriginalIssuer)); claims.Add(new Claim(ClaimTypes.Sid, claimsMapper.Sid, null, claimsMapper.Issuer, claimsMapper.OriginalIssuer)); claims.Add(new Claim(ClaimTypes.Version, claimsMapper.Version, null, claimsMapper.Issuer, claimsMapper.OriginalIssuer)); claims.Add(new Claim(ClaimTypeIsVerified, claimsMapper.IsVerified, null, claimsMapper.Issuer, claimsMapper.OriginalIssuer)); claims.Add(new Claim(ClaimTypeAvatarUrl, claimsMapper.AvatarUrl, null, claimsMapper.Issuer, claimsMapper.OriginalIssuer)); return(new ClaimsIdentity(claims, authenticationType)); }
private static AccessToken CreateToken(IOwinContext owinContext, User user, ClaimsMapper claimsMapper) { var identity = CreateIdentity(claimsMapper, OAuthDefaults.AuthenticationType); var ticket = new AuthenticationTicket(identity, CreateProperties(user)); var context = new AuthenticationTokenCreateContext(owinContext, Startup.OAuthOptions.AccessTokenFormat, ticket); return(new AccessToken { Type = OAuthDefaults.AuthenticationType, Value = context.SerializeTicket() }); }