2014-01-16 2 views
12

Django의 inbuilt password reset 기능을 사용하여 사용자에게 암호 재설정 링크를 전자 메일로 보냅니다. Django에서 링크 만료 시간을 6 시간으로 설정하면 링크가 유효하지 않게되고 사용자가 비밀번호 복구를 다시 요청해야한다는 옵션이 있습니까?django 암호 재설정 토큰에 만료 시간 설정

답변

21

장고의 암호 재설정 기능을 사용하는 경우 PASSWORD_RESET_TIMEOUT_DAYS 설정을 사용할 수 있습니다.

예 : 사용자가 2 일 전에 생성 된 비밀번호 재설정 링크를 사용하고 프로젝트 설정에 PASSWORD_RESET_TIMEOUT_DAYS=1이있는 경우 링크가 유효하지 않으므로 사용자는 계속할 수 없습니다.

여기에 더 많은 정보를 원하시면 : https://docs.djangoproject.com/en/1.11/ref/settings/#password-reset-timeout-days

-1

암호화 된 토큰을 생성 할 수 있습니다 (예 : 사용자 이름, 사용자의 마지막 로그인 및 토큰이 생성 된 시간 소인과 함께 Base64 암호화. 체크섬을 생성하여 토큰에 추가하거나 db에 저장할 수 있습니다. 그런 다음 토큰을 해독하여 원하는 모든 데이터를 가져올 수 있습니다.

+2

그게 좋은 생각하지만 난 장고 자체 솔루션을 찾고있는 동안 나는 모든 물건을 할 수 있었다면 더 URL에 타임 스탬프를 보내는 사용자 변경 당신은 내가 것이라고 말했다 경우 어떤 일이 일어날 것 내 솔루션을 구현했고 djangos inbuilt 기능에 의존하지 않았을 것입니다. – Sar009

+0

post 메소드를 통해 보내면 사용자는 타임 스탬프가 전송되고 있음을 볼 수 없습니다. 그리고 만약 장고에 가지고 싶다면, 보내진 타임 스탬프를 사용자 레코드에 추가 한 다음 그 값으로 확인하십시오. –

+1

@AswinMurugesh. 이와 비슷한 개념 : https://djangosnippets.org/snippets/1174/. – michalczukm