org.springframework.security.oauth2.jwt.Jwt.getExpiresAt()方法的使用及代码示例

x33g5p2x  于2022-01-22 转载在 其他  
字(6.2k)|赞(0)|评价(0)|浏览(270)

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

Jwt.getExpiresAt介绍

暂无

代码示例

代码示例来源:origin: spring-projects/spring-security

private static Map<String, Object> validateRequiredClaims(Jwt idToken) {
    Map<String, Object> requiredClaims = new HashMap<>();

    URL issuer = idToken.getIssuer();
    if (issuer == null) {
      requiredClaims.put(IdTokenClaimNames.ISS, issuer);
    }
    String subject = idToken.getSubject();
    if (subject == null) {
      requiredClaims.put(IdTokenClaimNames.SUB, subject);
    }
    List<String> audience = idToken.getAudience();
    if (CollectionUtils.isEmpty(audience)) {
      requiredClaims.put(IdTokenClaimNames.AUD, audience);
    }
    Instant expiresAt = idToken.getExpiresAt();
    if (expiresAt == null) {
      requiredClaims.put(IdTokenClaimNames.EXP, expiresAt);
    }
    Instant issuedAt = idToken.getIssuedAt();
    if (issuedAt == null) {
      requiredClaims.put(IdTokenClaimNames.IAT, issuedAt);
    }

    return requiredClaims;
  }
}

代码示例来源:origin: spring-projects/spring-security

/**
 * {@inheritDoc}
 */
@Override
public OAuth2TokenValidatorResult validate(Jwt jwt) {
  Assert.notNull(jwt, "jwt cannot be null");
  Instant expiry = jwt.getExpiresAt();
  if (expiry != null) {
    if (Instant.now(this.clock).minus(clockSkew).isAfter(expiry)) {
      OAuth2Error error = new OAuth2Error(
          OAuth2ErrorCodes.INVALID_REQUEST,
          String.format("Jwt expired at %s", jwt.getExpiresAt()),
          "https://tools.ietf.org/html/rfc6750#section-3.1");
      return OAuth2TokenValidatorResult.failure(error);
    }
  }
  Instant notBefore = jwt.getNotBefore();
  if (notBefore != null) {
    if (Instant.now(this.clock).plus(clockSkew).isBefore(notBefore)) {
      OAuth2Error error = new OAuth2Error(
          OAuth2ErrorCodes.INVALID_REQUEST,
          String.format("Jwt used before %s", jwt.getNotBefore()),
          "https://tools.ietf.org/html/rfc6750#section-3.1");
      return OAuth2TokenValidatorResult.failure(error);
    }
  }
  return OAuth2TokenValidatorResult.success();
}

代码示例来源:origin: spring-projects/spring-security

private Mono<OidcIdToken> createOidcToken(ClientRegistration clientRegistration, OAuth2AccessTokenResponse accessTokenResponse) {
    ReactiveJwtDecoder jwtDecoder = this.jwtDecoderFactory.createDecoder(clientRegistration);
    String rawIdToken = (String) accessTokenResponse.getAdditionalParameters().get(OidcParameterNames.ID_TOKEN);
    return jwtDecoder.decode(rawIdToken)
        .map(jwt -> new OidcIdToken(jwt.getTokenValue(), jwt.getIssuedAt(), jwt.getExpiresAt(), jwt.getClaims()));
  }
}

代码示例来源:origin: spring-projects/spring-security

if (now.minus(this.clockSkew).isAfter(idToken.getExpiresAt())) {
  invalidClaims.put(IdTokenClaimNames.EXP, idToken.getExpiresAt());

代码示例来源:origin: spring-projects/spring-security

@Test
  public void constructorWhenParametersProvidedAndValidThenCreated() {
    Jwt jwt = new Jwt(JWT_TOKEN_VALUE, Instant.ofEpochMilli(IAT_VALUE),
      Instant.ofEpochMilli(EXP_VALUE), HEADERS, CLAIMS);

    assertThat(jwt.getTokenValue()).isEqualTo(JWT_TOKEN_VALUE);
    assertThat(jwt.getHeaders()).isEqualTo(HEADERS);
    assertThat(jwt.getClaims()).isEqualTo(CLAIMS);
    assertThat(jwt.getIssuer().toString()).isEqualTo(ISS_VALUE);
    assertThat(jwt.getSubject()).isEqualTo(SUB_VALUE);
    assertThat(jwt.getAudience()).isEqualTo(AUD_VALUE);
    assertThat(jwt.getExpiresAt().toEpochMilli()).isEqualTo(EXP_VALUE);
    assertThat(jwt.getNotBefore().getEpochSecond()).isEqualTo(NBF_VALUE);
    assertThat(jwt.getIssuedAt().toEpochMilli()).isEqualTo(IAT_VALUE);
    assertThat(jwt.getId()).isEqualTo(JTI_VALUE);
  }
}

代码示例来源:origin: spring-projects/spring-security

private OidcIdToken createOidcToken(ClientRegistration clientRegistration, OAuth2AccessTokenResponse accessTokenResponse) {
    JwtDecoder jwtDecoder = this.jwtDecoderFactory.createDecoder(clientRegistration);
    Jwt jwt;
    try {
      jwt = jwtDecoder.decode((String) accessTokenResponse.getAdditionalParameters().get(OidcParameterNames.ID_TOKEN));
    } catch (JwtException ex) {
      OAuth2Error invalidIdTokenError = new OAuth2Error(INVALID_ID_TOKEN_ERROR_CODE, ex.getMessage(), null);
      throw new OAuth2AuthenticationException(invalidIdTokenError, invalidIdTokenError.toString(), ex);
    }
    OidcIdToken idToken = new OidcIdToken(jwt.getTokenValue(), jwt.getIssuedAt(), jwt.getExpiresAt(), jwt.getClaims());
    return idToken;
  }
}

代码示例来源:origin: org.springframework.security/spring-security-oauth2-jose

/**
 * {@inheritDoc}
 */
@Override
public OAuth2TokenValidatorResult validate(Jwt jwt) {
  Assert.notNull(jwt, "jwt cannot be null");
  Instant expiry = jwt.getExpiresAt();
  if (expiry != null) {
    if (Instant.now(this.clock).minus(maxClockSkew).isAfter(expiry)) {
      OAuth2Error error = new OAuth2Error(
          OAuth2ErrorCodes.INVALID_REQUEST,
          String.format("Jwt expired at %s", jwt.getExpiresAt()),
          "https://tools.ietf.org/html/rfc6750#section-3.1");
      return OAuth2TokenValidatorResult.failure(error);
    }
  }
  Instant notBefore = jwt.getNotBefore();
  if (notBefore != null) {
    if (Instant.now(this.clock).plus(maxClockSkew).isBefore(notBefore)) {
      OAuth2Error error = new OAuth2Error(
          OAuth2ErrorCodes.INVALID_REQUEST,
          String.format("Jwt used before %s", jwt.getNotBefore()),
          "https://tools.ietf.org/html/rfc6750#section-3.1");
      return OAuth2TokenValidatorResult.failure(error);
    }
  }
  return OAuth2TokenValidatorResult.success();
}

代码示例来源:origin: apache/servicemix-bundles

private Mono<OidcIdToken> createOidcToken(ClientRegistration clientRegistration, OAuth2AccessTokenResponse accessTokenResponse) {
  ReactiveJwtDecoder jwtDecoder = this.decoderFactory.apply(clientRegistration);
  String rawIdToken = (String) accessTokenResponse.getAdditionalParameters().get(OidcParameterNames.ID_TOKEN);
  return jwtDecoder.decode(rawIdToken)
      .map(jwt -> new OidcIdToken(jwt.getTokenValue(), jwt.getIssuedAt(), jwt.getExpiresAt(), jwt.getClaims()))
      .doOnNext(idToken -> OidcTokenValidator.validateIdToken(idToken, clientRegistration));
}

代码示例来源:origin: apache/servicemix-bundles

private OidcIdToken createOidcToken(ClientRegistration clientRegistration, OAuth2AccessTokenResponse accessTokenResponse) {
  JwtDecoder jwtDecoder = getJwtDecoder(clientRegistration);
  Jwt jwt = jwtDecoder.decode((String) accessTokenResponse.getAdditionalParameters().get(
      OidcParameterNames.ID_TOKEN));
  OidcIdToken idToken = new OidcIdToken(jwt.getTokenValue(), jwt.getIssuedAt(), jwt.getExpiresAt(), jwt.getClaims());
  OidcTokenValidator.validateIdToken(idToken, clientRegistration);
  return idToken;
}

相关文章