oka*_*kay 5 authentication django token django-rest-auth
我们的团队在后端使用django-rest-api进行项目工作,并在前端做出反应。对于身份验证,我们使用django-rest-auth,并且密码重置存在问题。网址:
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')),
]
Run Code Online (Sandbox Code Playgroud)
发布对password_reset的请求后,用户会收到包含链接的链接,其中包含uid和令牌。然后,用户以react形式填写new_password,我们要发布数据:
{
"new_password1": "new_password",
"new_password2": "new_password",
"uid": "",
"token": ""
}
Run Code Online (Sandbox Code Playgroud)
到/ rest-auth / password / reset / confirm /。
我们如何才能在前端的Make页面上获取此uid和令牌,并在此url上重置确认密码,然后发布数据以确认密码更改?
<Route path="reset/:uid/:token" component={PasswordResetView}/>
Run Code Online (Sandbox Code Playgroud)
然后,在您的React视图中,您可以得到像this.props.params.uid和这样的值this.props.params.token。
| 归档时间: |
|
| 查看次数: |
2414 次 |
| 最近记录: |