Skip to content

Commit 7778d10

Browse files
committed
[add] gnuboard#619 REST API > 비밀번호 검증 API 추가
1 parent 87e4ac8 commit 7778d10

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

api/v1/routers/member.py

+19
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from bbs.social import SocialAuthService
1313
from core.database import db_session
1414
from core.models import Member
15+
from lib.pbkdf2 import validate_password
1516
from lib.mail import send_password_reset_mail, send_register_admin_mail, send_register_mail
1617

1718
from api.v1.dependencies.member import (
@@ -151,6 +152,24 @@ async def read_member_me(
151152
return member
152153

153154

155+
@router.post("/members/password_certification",
156+
summary="비밀번호 확인",
157+
responses={**response_401, **response_403, **response_422}
158+
)
159+
async def password_certification(
160+
service: Annotated[MemberServiceAPI, Depends()],
161+
member: Annotated[Member, Depends(get_current_member)],
162+
password: Annotated[str, Body(..., title="비밀번호", description="비밀번호")],
163+
) -> MessageResponse:
164+
"""
165+
JWT토큰으로 decoding하여 얻은 member와 입력받은 비밀번호의 일치 여부를 확인합니다.
166+
"""
167+
if not validate_password(password, member.mb_password):
168+
service.raise_exception(status_code=403, detail="비밀번호가 일치하지 않습니다.")
169+
170+
return {"message": "비밀번호가 확인되었습니다."}
171+
172+
154173
@router.get("/members/{mb_id}",
155174
summary="회원 정보 조회",
156175
responses={**response_401, **response_403, **response_404})

0 commit comments

Comments
 (0)