@Override
	public Map<String, Object> convert(Map<String, Object> claims) {
		Assert.notNull(claims, "claims cannot be null");

		Map<String, Object> mappedClaims = new HashMap<>(claims);

		for (Map.Entry<String, Converter<Object, ?>> entry : this.claimConverters.entrySet()) {
			String claimName = entry.getKey();
			Converter<Object, ?> converter = entry.getValue();
			if (converter != null) {
				Object claim = claims.get(claimName);
				Object mappedClaim = converter.convert(claim);
				mappedClaims.compute(claimName, (key, value) -> mappedClaim);
			}
		}

		Instant issuedAt = (Instant) mappedClaims.get(JwtClaimNames.IAT);
		Instant expiresAt = (Instant) mappedClaims.get(JwtClaimNames.EXP);
		if (issuedAt == null && expiresAt != null) {
			mappedClaims.put(JwtClaimNames.IAT, expiresAt.minusSeconds(1));
		}

		return mappedClaims;
	}
@Override
	public Map<String, Object> convert(Map<String, Object> claims) {
		Assert.notNull(claims, "claims cannot be null");

		Map<String, Object> mappedClaims = new HashMap<>(claims);

		for (Map.Entry<String, Converter<Object, ?>> entry : this.claimConverters.entrySet()) {
			String claimName = entry.getKey();
			Converter<Object, ?> converter = entry.getValue();
			if (converter != null) {
				Object claim = claims.get(claimName);
				Object mappedClaim = converter.convert(claim);
				mappedClaims.compute(claimName, (key, value) -> mappedClaim);
			}
		}

		Instant issuedAt = (Instant) mappedClaims.get(JwtClaimNames.IAT);
		Instant expiresAt = (Instant) mappedClaims.get(JwtClaimNames.EXP);
		if (issuedAt == null && expiresAt != null) {
			mappedClaims.put(JwtClaimNames.IAT, expiresAt.minusSeconds(1));
		}

		return mappedClaims;
	}
@ Override public Map < String , Object > convert ( Map < String , Object > claims ) { Assert . notNull ( claims , "claims cannot be null" ) ; Map < String , Object > mappedClaims = new HashMap <> ( claims ) ; for ( Map . Entry < String , Converter < Object , ? > > entry : this . claimConverters . entrySet ( ) ) { String claimName = entry . getKey ( ) ; Converter < Object , ? > converter = entry . getValue ( ) ; if ( converter != null ) { Object claim = claims . get ( claimName ) ; Object mappedClaim = converter . convert ( claim ) ; mappedClaims . compute ( claimName , ( key , value ) -> mappedClaim ) ; } } Instant issuedAt = ( Instant ) mappedClaims . get ( JwtClaimNames . IAT ) ; Instant expiresAt = ( Instant ) mappedClaims . get ( JwtClaimNames . EXP ) ; if ( issuedAt == null && expiresAt != null ) { mappedClaims . put ( JwtClaimNames . IAT , expiresAt . minusSeconds ( 1 ) ) ; } return mappedClaims ; }
{@inheritDoc}
{