public virtual void EnrichWithClaimsParameter(JwsPayload payload, IEnumerable <AuthorizationRequestClaimParameter> requestedClaims, OAuthUser user = null, DateTime?authDateTime = null, AuthorizationRequestClaimTypes claimType = AuthorizationRequestClaimTypes.IdToken)
 {
     if (requestedClaims != null)
     {
         foreach (var claim in requestedClaims.Where(c => c.Type == claimType))
         {
             if (AllUserClaims.Contains(claim.Name) && user != null)
             {
                 payload.AddOrReplace(user.Claims.First(c => c.Type == claim.Name));
             }
             else
             {
                 if (claim.Name == OAuthClaims.AuthenticationTime && authDateTime != null)
                 {
                     payload.Add(OAuthClaims.AuthenticationTime, authDateTime.Value.ConvertToUnixTimestamp());
                 }
             }
         }
     }
 }
Exemple #2
0
 public static void EnrichWithScopeParameter(JwsPayload payload, IEnumerable <OAuthScope> scopes, OAuthUser user, string subject)
 {
     if (scopes != null)
     {
         foreach (var scope in scopes)
         {
             foreach (var scopeClaim in scope.Claims)
             {
                 if (scopeClaim.ClaimName == UserClaims.Subject)
                 {
                     payload.Add(UserClaims.Subject, subject);
                 }
                 else
                 {
                     var userClaims = user.Claims.Where(c => c.Type == scopeClaim.ClaimName);
                     payload.AddOrReplace(userClaims);
                 }
             }
         }
     }
 }