처음 프로젝트를 시작할 때 이메일인증을 목표로 두고 찾았고, 처음 알게 된 게 allauth을 통한 이메일 인증이었다.
allauth를 통해 이메일 인증을 하기 위해서는 로그인/회원가입도 allauth로 하게 되었고, 여기서 문제가 발생했다.
회원가입과 로그인 / 이메일 인증을 할 때 custom을 해야하는데 allauth를 재대로 이해하지 못한 상태에서 custom까지 하려니까 너무 막막하고 시간이 없다고 판단해서
allauth로 했던 거 싹 지우고 직전프로젝트까지 사용했던 View를 새로 만들고 다시 새로 하기로 했음.
allauth로 했던 것 보다 쉽게 하긴 했는데, 왜 allauth로 했었지 싶긴했음.
회원가입 할 때 쓰는 serializer에서 create할 때 이메일 인증 이메일을 보내는 방식으로,
이메일을 받은 후 사용자가 권한인증을 눌렀을 때는 이 UserActivate view가 실행된다.
user의 uid를 받아서 user.is_active를 True를 통해 활성화시킨다.
이건 인증토큰(그 로그인할 때 쓰는 access_token과는 다른)을 만드는 함수이다. user.pk 와 user.is_active를 포함시킴.
이런식으로 이메일 방식을 django에서 제공하고 있는 EmailMessage / send()를 통해 이메일 인증 방식을 바꿨다.