JWT (Json Web Token)

JWT는 Stateless 상태를 유지하며, 서버에서 사용자를 식별할 수 있는 수단을 제공한다.

Bearer

JWT 혹은 OAuth에 대한 토큰을 사용한다. (RFC 6750)

JWT 의존성 추가 및 설정

implementation 'com.auth0:java-jwt:3.18.2'

application.yml JWT 관련 설정

security:
  jwt:
    header: authorization
    issuer: monthsub
    client-secret: ${JWT_CLIENT_SECRET}
    expiry-seconds: 86400

jwt 토큰 방식을 header 에 toekn (커스텀 토큰) 방식 아닌 authorization 으로 받도록 처리하다.

HTTP 인증 - HTTP | MDN

Config > Security

@Component
@Getter
@Setter
@ConfigurationProperties(prefix = "security")
public class Security {

  private Jwt jwt;

  @Getter
  @Setter
  public static class Jwt {
    private String header;
    private String issuer;
    private String clientSecret;
    private int expirySeconds;
  }
}