private void AddOptionalClaims(List <Claim> claims, SwedishPersonalIdentityNumber personalIdentityNumber, DateTimeOffset?expiresUtc) { if (expiresUtc.HasValue) { claims.Add(new Claim(BankIdClaimTypes.Expires, JwtSerializer.GetExpires(expiresUtc.Value))); } if (Options.IssueAuthenticationMethodClaim) { claims.Add(new Claim(BankIdClaimTypes.AuthenticationMethod, Options.AuthenticationMethodName)); } if (Options.IssueIdentityProviderClaim) { claims.Add(new Claim(BankIdClaimTypes.IdentityProvider, Options.IdentityProviderName)); } if (Options.IssueGenderClaim) { var jwtGender = JwtSerializer.GetGender(personalIdentityNumber.GetGenderHint()); if (!string.IsNullOrEmpty(jwtGender)) { claims.Add(new Claim(BankIdClaimTypes.Gender, jwtGender)); } } if (Options.IssueBirthdateClaim) { var jwtBirthdate = JwtSerializer.GetBirthdate(personalIdentityNumber.GetDateOfBirthHint()); claims.Add(new Claim(BankIdClaimTypes.Birthdate, jwtBirthdate)); } }
private IEnumerable <Claim> GetBaseClaims(DateTimeOffset?expiresUtc) { var claims = new List <Claim>(); if (expiresUtc.HasValue) { claims.Add(new Claim(GrandIdClaimTypes.Expires, JwtSerializer.GetExpires(expiresUtc.Value))); } if (Options.IssueAuthenticationMethodClaim) { claims.Add(new Claim(GrandIdClaimTypes.AuthenticationMethod, Options.AuthenticationMethodName)); } if (Options.IssueIdentityProviderClaim) { claims.Add(new Claim(GrandIdClaimTypes.IdentityProvider, Options.IdentityProviderName)); } return(claims); }