We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
사용자의 서비스 이용 편의성을 높이고 보안을 강화하기 위해 기존의 로그인 및 2단계 인증 정책을 개선하고자 합니다. 특히, 액세스 토큰 및 리프레시 토큰의 전달 방식을 변경하고, 권한별로 리프레시 토큰의 유효 기간을 다르게 설정하여 보안성을 강화할 계획입니다.
X-Clab-Auth
Clab-Auth
X-
HTTP Only Cookie
Javascript Memory
Authorization Code
data
/api/v1/login
/api/v1/auth/login
POST
/api/v1/login/guest
/api/v1/auth/login/guest
/api/v1/login/reissue
/api/v1/auth/token/refresh
/api/v1/login/current
/api/v1/auth/token/current
GET
/api/v1/login/authenticator
/api/v1/auth/2fa
/api/v1/login/authenticator/{memberId}
/api/v1/auth/2fa/{memberId}
DELETE
Response body
{ "success": false, // 로그인 실패 "data": null }
{ "success": true, // 로그인 성공 "data": "" // OTP 미사용을 의미 }
Response headers
clab-auth: { "accessToken": {access_token} }
Cookie
Set-Cookie: refreshToken={refresh_token}; HttpOnly; Secure; Path=/; Max-Age={max_age}; SameSite=Strict;
{ "success": true, // 로그인 성공 "data": {authorization_code} // OTP 사용을 의미 }
clab-auth: { "accessToken": null }
clab-auth: { "secretKey": {secret_key} }
{ "success": true, "data": {authorization_code} }
The text was updated successfully, but these errors were encountered:
limehee
When branches are created from issues, their pull requests are automatically linked.
Describe
사용자의 서비스 이용 편의성을 높이고 보안을 강화하기 위해 기존의 로그인 및 2단계 인증 정책을 개선하고자 합니다. 특히, 액세스 토큰 및 리프레시 토큰의 전달 방식을 변경하고, 권한별로 리프레시 토큰의 유효 기간을 다르게 설정하여 보안성을 강화할 계획입니다.
Tasks
1. 로그인 전용 커스텀 헤더명 변경
변경 사항
X-Clab-Auth
Clab-Auth
변경 이유
X-
접두사는 2012년 6월에 비표준 필드가 표준으로 전환되면서 발생하는 불편함을 이유로 폐기되었습니다. 이를 고려하여 커스텀 헤더명을X-Clab-Auth
에서Clab-Auth
로 변경합니다.2. 자동 로그인 구현을 위한 리프레시 토큰 전달 방식 변경
변경 사항
X-Clab-Auth
)에 담아 전달.Clab-Auth
)를 통해 전달.HTTP Only Cookie
를 통해 전달.변경 이유
Javascript Memory
에서 토큰 정보가 사라지는 문제를 해결하기 위해, 리프레시 토큰을HTTP Only Cookie
로 전달하여 보안성과 편의성을 강화합니다.3. 권한별 리프레시 토큰 기간 조정
변경 사항
변경 이유
4. 리다이렉션 API 추가
변경 사항
변경 이유
5. 로그인 상태 관리
변경 사항
Authorization Code
를 발급하고, 이 코드를 응답의data
값으로 전달.Authorization Code
를 서버에 전달하며, 서버는 이를 대조하여 로그인 성공/실패를 판단.변경 이유
6. 로그인 엔드포인트 변경
변경 사항
/api/v1/login
/api/v1/auth/login
POST
/api/v1/login/guest
/api/v1/auth/login/guest
POST
/api/v1/login/reissue
/api/v1/auth/token/refresh
POST
/api/v1/login/current
/api/v1/auth/token/current
GET
/api/v1/login/authenticator
/api/v1/auth/2fa
POST
/api/v1/login/authenticator/{memberId}
/api/v1/auth/2fa/{memberId}
DELETE
변경 이유
ETC
로그인 과정에서 실패
Response body
로그인 성공 && OTP 미사용자
Response body
Response headers
Cookie
로그인 성공 && OTP 사용자
Response body
Response headers
로그인 성공 && OTP 사용자 && 시크릿키 발급
Response body
Response headers
OTP 사용자 && 로그인(OTP) 성공
Response body
Response headers
Cookie
The text was updated successfully, but these errors were encountered: