2016-11-23 22 views
1

私たちのチームは、バックエンドでdjango-rest-apiを使用してプロジェクトに取り組み、フロントエンドで反応します。 認証にはdjango-rest-authを使用しており、パスワードリセットに問題があります。 はここのURL:django-rest-authパスワードuidとトークンをリセットする

password_reset要求が掲載されて
urlpatterns += [ 
    url(r'^accounts/', include('allauth.urls')), 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^api/', include('api.urls')), 
    url(r'^rest-auth/', include('rest_auth.urls')), 
    url(r'^rest-auth/registration/', include('rest_auth.registration.urls')), 
    url(
     r'^rest-auth/password/reset/$', 
     PasswordResetView.as_view(), 
     name='password_reset', 
    ), 
    url(r'^rest-auth/password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', 
     PasswordResetConfirmView.as_view(), 
     name='password_reset_confirm'), 
    url(
     r'^rest-auth/registration/account-confirm-email/(?P<key>[-:\w]+)/$', 
     confirm, 
     name="account_confirm_email" 
    ), 
    url(r'^', include('core.urls', namespace='core')), 
] 

は、ユーザーがリンクを電子メールを受信uidとトークンが含まれています。その後、ユーザーがフォームを反応させ、そして我々は、データを投稿したいでnew_passwordをいっぱい:

{ 
    "new_password1": "new_password", 
    "new_password2": "new_password", 
    "uid": "", 
    "token": "" 
} 

残り-AUTH /パスワード/リセット/確認/ /へ。

このurlでパスワードの再設定を確認して、makeページのフロントエンドでこのuidとトークンを取得する方法と、パスワード変更を確認するためのデータを投稿する方法はありますか?

+0

あなたはページのURLからuidとトークンを受け取ることはできませんか?これは、Djangoの同様の組み込み機能がどのように機能するかです。あなたはjavascriptでURLをつかむことができます。パスワードリセットトークンの実際の実装は、btwです。 https://github.com/django/django/blob/master/django/contrib/auth/tokens.py –

答えて

3

反応ルータを設定してparams from urlを取得する必要があります。例えばのために、あなたの反応で、その後

<Route path="reset/:uid/:token" component={PasswordResetView}/> 

そして、あなたはthis.props.params.uidthis.props.params.tokenように、これらの値を得ることができます表示します。

関連する問題