728x90
320x100
계정 삭제 기능 개선
탈퇴 기능을 구현할 때, 탈퇴시 즉시 삭제되게 구현해둔 상태
그런데 사실 탈퇴라는 게, 일정 기간동안은 정보가 저장되어 있어야 여러모로 편하다. (탈퇴를 철회하고 싶을 수도 있는데!)
그래서 탈퇴한 계정에 인가해둔 권한만 막아두고(로그인도 불가), 일정 시간이 지나면 삭제되게 하기로 했다.
계정 재활성화
다시 활성화할 수 있도록 비활성화를 만들었으므로, 재활성화를 만들어야겠지?
재활성화는 이메일 인증으로 구현하기로 했다.
# 계정 재활성화
class ActivateAccountView(APIView):
def post(self, request):
email = request.data.get("email")
try:
user = User.objects.get(email=email, is_active=False)
# 유저가 비활성화된 상태인 경우에만 계정을 활성화할 수 있도록 검증
uid = urlsafe_b64encode(force_bytes(user.pk))
token = PasswordResetTokenGenerator().make_token(user)
authurl = f"http://localhost:8000/user/verify-email/{uid}/{token}/"
email_body = "계정 재활성화를 위한 이메일 인증 링크입니다. " + authurl
message = {
"email_body": email_body,
"to_email": email,
"email_subject": "계정 재활성화 이메일 인증",
}
Util.send_email(message)
return Response(
{"message": "이메일을 통해 계정 재활성화 링크가 전송되었습니다."},
status=status.HTTP_200_OK,
)
except User.DoesNotExist:
return Response(
{"message": "비활성화된 상태가 아닌 계정입니다."},
status=status.HTTP_400_BAD_REQUEST,
)
그런데 이게 동작하질 않아서....
일단은 보류...
300x250
반응형
GitHub 댓글