3

私たちのチームはフロントエンドでバックエンドと角度2のdjango-rest-apiプロジェクトで作業しています。パスワードの再設定に問題があります。ここにURL:レストAPIを使用したDjangoのパスワード休憩

from django.contrib.auth import views as auth_views 
urlpatterns = patterns(
'', 
url(r'^password_reset/$', auth_views.password_reset, name='password_reset'), 

url(r'^password_reset/done/$', auth_views.password_reset_done, name='password_reset_done'), 

url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',auth_views.password_reset_confirm, name='password_reset_confirm'), 

url(r'^reset/done/$', auth_views.password_reset_complete, name='password_reset_complete'), 
) 

password_resetへのリクエストが送信されると、ユーザーはリンクにパスワードリセットトークンを含むメールを受信します。 トークンの有効期限は24時間以内にする必要があります。

パスワードリセットAPIを作成したいので、郵便配達員を使用してパスワードを変更することもできますし、フロントエンドの開発者もこのAPIを使用します。

+0

大きすぎます。あなたはテーブルを維持しなければならないし、あなたはパスワードリセットのためのメールの送信を処理するビューを持っている必要があります。 –

答えて

3

あなたはこれらの基本的な手順に従うことができます -

1) UI - Press reset password 
2) UI - Type Email Id for verify (token will go to this ID) 
    a) Backend - Get email and verify/authenticate it 
    b) Generate a token [ you can use from drive.utils import 
     get_random_number ] 
      1) Save in DB - Token code, Email , Date(+1 day) 
    c) Send Email with Token 
    d) render to new html with email id 
    return render(request, 'forgot_password.html', {'email': email})  
3) UI - GET token code from user (pass email (from above) along with 
    code) 
    a) verify code and check if its expire (current date < code date) 
    b) if verified render to change password page (pass email) 
4) UI - GET New Password from user (email from above) 
    a) change password 
+0

こんにちは@Vicamathur私は、各ステップを踏んだが、現在は "pint 4)a)パスワードを変更する"と教えてもらえますか?私はusers_emailと新しいパスワードを設定したい場合、どうすればユーザーのパスワードを変更できますか?ユーザー。 –

+1

djangoでは、Authユーザーはset.password()関数を使用してパスワードを設定する必要があります。user.password = "new password"を使用すると、user.set_password( "new password")を使用する必要があります。 – Vaibhav

+0

はい、auth.modelsクラスのUserオブジェクトが必要です。出来た。ありがとう –

関連する問題