JWT_SESSION_ERROR (feat. next auth)
에러 상황
JWTKeySupport: the key does not support HS512 verify algorithm
The algorithm used for generating your key isn’t listed as supported. You can generate a HS512 key using
jose newkey -s 512 -t oct -a HS512
HS512 알고리즘?
JWT에서 사용하는 12개의 기본 서명 알고리즘 중 하나. 대칭 알고리즘에 속한다. (1개의 secret key를 공유함)
512bit의 digest를 생성하며, 적어도 64 bytes 이상의 secret key를 사용한다.
JWT secret
next_auth의 option 중 하나. […nextauth].ts파일에서 설정 가능하다.
토큰을 해시하고, 쿠키를 사인하고 암호화하여 암호화된 키를 생성하기 위해 사용되는 랜덤의 string. 이때의 string은 반드시 HS512 알고리즘을 따라야 한다.
만약 환경변수에서 NEXTAUTH_SECRET을 선언하였다면, 이 option을 별도로 선언할 필요는 없다.
배포 환경에서는 반드시 secret 옵션 설정, 혹은 NEXTAUTH_SECRET 설정 둘 중 하나는 반드시 이뤄져야 한다!!! 🔥
문제 원인
JWT에서 사용하는 secret 키가 HS512 알고리즘 규칙에 맞지 않는 키이기 때문에 생기는 문제.
문제 해결
기존에 사용하던 NEXTAUTH_SECRET 환경 변수, 혹은 […nextauth].ts의 secret옵션의 값을 HS512 알고리즘 규칙에 맞는 string으로 변경해주면 된다.
'FE > Trouble Shooting' 카테고리의 다른 글
Fly.io 앱과의 통신 도중의 Axios Timeout Error (feat. NodeJS, express, 삽질) (1) | 2023.06.03 |
---|---|
MongoDB querySrv ENODATA 에러 (0) | 2023.05.31 |
next_auth 404에러 (feat. next13) (0) | 2023.05.30 |
next13에서 환경변수를 로드할 때 undefined으로 로드되는 에러 (0) | 2023.05.30 |
[ERROR] GET ${IMAGE_URL} net::ERR_CONNECTION_RESET 431 (Request Header Fields Too Large) (0) | 2022.12.14 |