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() }; }