https://www.skyer9.pe.kr/wordpress/?p=2405
서버 구성 필수 환경
Redis Local (RedisConfig.class) 참조
기본 베이스 : JWT
인증 방식
- Redis 내 유효한 토큰 관리 및 인증
- 만료 여부 및 같은 Client Ip 내 접속 여부 인증
기본 정책
- access-token 1시간
- refresh-token 1일
- client ip가 다르면 새로운 토큰 발급하도록 처리
- logout & refresh-token 시 기존 토큰 만료 처리
- token 내 기본 데이터만 제공하며, 통신은 uid 진행
- 암호화 방식은 제공된 공개키로만 사용 가능
swagger-ui 사용 방법
- 사용자 인증 컨트롤러 > /login > 토큰 발급
- 우측 중간 Authorize 클릭
- 발급 받은 accessToken 앞에 Bearer <토큰> 입력
- 기존 API과 동일하게 사용
Exception
{
"timestamp": "2022-06-09T22:36:35.9209721",
"status": "BAD_REQUEST",
"error": "EXPIRED_REFRESH_TOKEN"
}
RSA 인증서 발급
keytool -genkey -v -keystore server.jks -alias server_private -keyalg RSA -sigalg MD5withRSA -keysize 1024 -validity 30000
keytool -list -rfc --keystore server.jks | C:\Users\olo_j\Downloads\openssl-0.9.8k_X64\bin\openssl x509 -inform pem -pubkey