io.jsonwebtoken.Claims.containsKey()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(3.6k)|赞(0)|评价(0)|浏览(158)

本文整理了Java中io.jsonwebtoken.Claims.containsKey()方法的一些代码示例,展示了Claims.containsKey()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Claims.containsKey()方法的具体详情如下:
包路径:io.jsonwebtoken.Claims
类名称:Claims
方法名:containsKey

Claims.containsKey介绍

暂无

代码示例

代码示例来源:origin: EwingTsai/spring-boot-faster

/**
 * 获取Token的负载信息并校验有效期。
 *
 * @param token Token。
 * @return 负载信息。
 */
public static Claims getClaimsValidate(String token) {
  Claims claims = getTokenClaims(token);
  // 存在exp在解析时会自动校验
  if (claims == null || !claims.containsKey("exp")) {
    throw new RuntimeException("无效的Token。");
  }
  return claims;
}

代码示例来源:origin: trellis-ldp/trellis

/**
 * Generate a Principal from a subject claim.
 * @param claims the JWT claims
 * @return a Principal, if one can be generated from standard claims
 */
public static Optional<Principal> withSubjectClaim(final Claims claims) {
  return ofNullable(claims.getSubject()).flatMap(sub -> {
    // use the sub claim if it looks like a webid
    if (isUrl(sub)) {
      LOGGER.debug("Using JWT claim with sub: {}", sub);
      return of(sub).map(OAuthPrincipal::new);
    }
    final String iss = claims.getIssuer();
    // combine the iss and sub fields if that appears possible
    if (nonNull(iss) && isUrl(iss)) {
      final String webid = iss.endsWith("/") ? iss + sub : iss + "/" + sub;
      LOGGER.debug("Using JWT claim with generated webid: {}", webid);
      return of(webid).map(OAuthPrincipal::new);
    }
    // Use an OIDC website claim, if one exists
    if (claims.containsKey(WEBSITE)) {
      final String site = claims.get(WEBSITE, String.class);
      LOGGER.debug("Using JWT claim with website: {}", site);
      return ofNullable(site).map(OAuthPrincipal::new);
    }
    return empty();
  });
}

代码示例来源:origin: gravitee-io/graviteeio-access-management

public User createUser(Claims claims) {
  final String username = claims.containsKey(StandardClaims.PREFERRED_USERNAME) ? claims.get(StandardClaims.PREFERRED_USERNAME, String.class) : claims.getSubject();
  User user = new DefaultUser(username);
  ((DefaultUser) user).setId(claims.getSubject());
  // set claims
  Map<String, Object> additionalInformation = new HashMap<>();
  // add sub required claim
  additionalInformation.put(io.gravitee.am.common.jwt.Claims.sub, claims.getSubject());
  List<Map<String, String>> claimsMapper = jwtBearerTokenGranterConfiguration.getClaimsMapper();
  if (claimsMapper != null && !claimsMapper.isEmpty()) {
    claimsMapper.forEach(claimMapper -> {
      String assertionClaim = claimMapper.get("assertion_claim");
      String tokenClaim = claimMapper.get("token_claim");
      if (claims.containsKey(assertionClaim)) {
        additionalInformation.put(tokenClaim, claims.get(assertionClaim));
      }
    });
  }
  ((DefaultUser) user).setAdditionalInformation(additionalInformation);
  return user;
}

代码示例来源:origin: io.gravitee.am.extensiongrant/gravitee-am-extensiongrant-jwtbearer

public User createUser(Claims claims) {
  final String username = claims.containsKey(StandardClaims.PREFERRED_USERNAME) ? claims.get(StandardClaims.PREFERRED_USERNAME, String.class) : claims.getSubject();
  User user = new DefaultUser(username);
  ((DefaultUser) user).setId(claims.getSubject());
  // set claims
  Map<String, Object> additionalInformation = new HashMap<>();
  // add sub required claim
  additionalInformation.put(io.gravitee.am.common.jwt.Claims.sub, claims.getSubject());
  List<Map<String, String>> claimsMapper = jwtBearerTokenGranterConfiguration.getClaimsMapper();
  if (claimsMapper != null && !claimsMapper.isEmpty()) {
    claimsMapper.forEach(claimMapper -> {
      String assertionClaim = claimMapper.get("assertion_claim");
      String tokenClaim = claimMapper.get("token_claim");
      if (claims.containsKey(assertionClaim)) {
        additionalInformation.put(tokenClaim, claims.get(assertionClaim));
      }
    });
  }
  ((DefaultUser) user).setAdditionalInformation(additionalInformation);
  return user;
}

相关文章