-
Notifications
You must be signed in to change notification settings - Fork 217
Open
Description
fastapi-boilerplate/app/user/services/user.py
Lines 34 to 49 in 75c8c82
| @Transactional(propagation=Propagation.REQUIRED) | |
| async def create_user( | |
| self, email: str, password1: str, password2: str, nickname: str | |
| ) -> None: | |
| if password1 != password2: | |
| raise PasswordDoesNotMatchException | |
| query = select(User).where(or_(User.email == email, User.nickname == nickname)) | |
| result = await session.execute(query) | |
| is_exist = result.scalars().first() | |
| if is_exist: | |
| raise DuplicateEmailOrNicknameException | |
| user = User(email=email, password=password1, nickname=nickname) | |
| session.add(user) | |
위 소스코드 부분이 사용자를 추가하는 테스트 API 부분인데, 아무래도 비밀번호를 평문으로 저장한다는 것이 좀 걸리네요..
token_helper.py로 JWT 처리에 대한 로직도 있고, AuthBackend를 통해서 Authorization 까지 체크하는 기본적인 보안 기능을 제공하는데 기왕 하는김에 비밀번호 암호화 기능도 추가하는 건 어떤가 싶어 제안해 봅니다. (특히 국내에선 비밀번호 암호화가 법적으로 필수라서 꼭 추가했으면 좋겠네요)
그리고 추가적인 제안인데 JWT 토큰을 사용하는데 API단에서 예시가 없어서 로그인 시 JWT토큰 발급 / Bearer를 통한 JWT 토큰 사용 예시 API까지 추가했으면 하는 바램입니다
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels