问题标签 [djoser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Djoser 用户激活电子邮件 POST 示例
我正在使用 Django rest 框架和 Djoser 进行身份验证和用户注册。
当新用户注册时,Djoser 会发送一封激活电子邮件,其中包含执行 GET 请求的链接。为了激活,我需要从激活 URL 中提取 uid 和令牌,并向 Djoser 发出 POST 请求,以便能够激活用户。
我的环境是 Python 3 和 Django 1.11,Djoser 1.0.1。
我想做的是在Django中处理get请求,提取uid和token,然后发出POST请求。我已经提取了 uid 和令牌,并想做一个 POST(在这个 GET 请求中)。我不知道如何在后台发出这个 POST 请求。
我的网址是这样的:
当我在电子邮件中单击它时,它会发出 GET 请求。
我在 Django 视图中处理这个问题。
视图需要发出这样的 POST 请求:
我处理 GET 的观点是:
django - 注册后通过电子邮件而不是 URL 发送激活码
正如我们在不同的网站上看到的,用户注册后,它会向用户的电子邮件发送一个 6/5 字符的激活码。用户应在网站上提交代码以激活他们的帐户。我正在尝试做同样的事情,但无法弄清楚如何使用 djoser 在 django-rest-framework 中做到这一点。
目前,我正在使用 Djoser 进行注册和激活。Djoser 在电子邮件中发送激活 URL;单击它会激活帐户并且它工作正常。
如何向用户发送 6 个字符的字母数字激活代码,而不是发送整个 URL?
我正在使用:django-rest-framework、django-rest-framework-jwt、djoser
python - 使用 Djoser 实现忘记密码功能
我是 Django 框架的新手,现在在忘记密码功能方面遇到了麻烦。我已阅读有关该功能的文档,但有些不清楚。我需要有人可以更详细地向我展示前端和后端的步骤。
django - 如何在 Djoser 中禁用用户名更改?
我没有在文档中找到有关如何排除/禁用 Djoser 提供的任何端点的任何信息。我可以在它的 urlpatterns 中查找一个并将其删除,但我想知道是否有更丑陋的方法可以做到这一点。
django - Djoser:触发用户帐户激活操作
我在我的 django 项目中集成了 djoser,我需要在帐户激活时创建一个条带 customer_id,我该怎么做?
我一直在搜索 djoser 文档,但没有关于自定义激活或传递回调方法的内容。
django - 自定义 djoser 注销
Djoser 有auth/token/logout/
注销的终点,它会破坏令牌。现在我想在注销时做更多事情,所以我继承了TokenDestroyView
djoser 的:
现在我有自己的端点,因为users/v1/logout/
我得到了200 52
响应,但它没有删除令牌,甚至它也没有进入 post 方法。
我在哪里失踪?
django - 使用 djoser 实现密码重置
我想djoser
用于重置密码功能并根据文档:
PASSWORD_RESET_CONFIRM_URL
您的前端密码重置页面的 URL。它应该包含 {uid} 和 {token} 占位符,例如
#/password-reset/{uid}/{token}
. 您应该通过 uid 和 token 来重置密码确认端点。
我做了以下事情:
PASSWORD_RESET_CONFIRM_URL': 'reset/password/reset/confirm/{uid}/{token}',
网址
url(r'^reset/password/reset/confirm/(?P<uid>[\w-]+)/(?P<token>[\w-]+)/$', PasswordResetView.as_view(),),
看法 :
在我的邮件中,我得到了这个链接:http://127.0.0.1:8000/reset/password/reset/confirm/Mjk/538-954dccbc1b06171eff4d
这很明显,我会得到:
}
作为我的输出,但我想auth/password/reset/confirm
在用户单击邮件中的链接时转到。
python - 格式化&符号会添加意外字符
使用Djoser我试图为我的前端生成正确的 url。我的 url 字符串中必须有与号,并且 Djoser 在将其发送到我的前端之前会格式化此 url。网址如下所示:
但我得到的最终结果看起来像注释“amp;” & 之后:
我尝试了以下解决方案,但它们都不起作用(\u0026, {\u0026}, {\u0026:c}, &&)
:
注意:我不能直接format()
部分更改代码,这将由 Djoser 处理。我可以通过的部分实际上只是将字符串值分配给激活 url,就像那里一样:'ACTIVATION_URL': 'activate?id={uid}{\u0026:c}token={token}',
所以我必须在这个字符串中编写我的解决方案。
NOTE2:我在 jupiter 中尝试过,一切正常,当我这样做时,我得到了正确的 url:
直接添加&
返回到前端与amp;
后面相同的 url&
更新 Djoser 模板覆盖
django - Djoser 禁用未使用的端点
我在我的 WebApp 中使用 Djoser 进行身份验证,这很好。但是,我担心一些端点,比如
如果传递了令牌,则返回所有用户。我不会使用此端点并将在前端禁用它,因为我不希望我的用户也使用它。但是,我仍然担心。如何禁用 Djoser 提供的这些未使用的端点?
django-rest-framework - 带有 Knox 代币的 DRF 的 Djoser
我正在尝试将 djoser 与令牌身份验证一起使用,但使用 django-rest-knox 令牌。
我已将TOKEN_MODEL
toknox.models.AuthToken
和其余框架设置DEFAULT_AUTHENTICATION_CLASSES
为knox.auth.TokenAuthentication
。
我天真地认为这已经足够了,但似乎 Djoser 的内置序列化程序(创建令牌和令牌)不能与 knox 令牌一起正常工作。我尝试用自定义序列化程序覆盖它们,但我没有得到任何结果(这并不是说它不可能,只是我不擅长这个)。
我突然想到,也许我应该尝试使用 Knox 自己的登录视图……这可能吗,或者它们不能像那样混合吗?(我主要是因为我不想让它“工作”,但发现我实际上在这样做时引入了一个安全漏洞)。
设置:
users.serializers.TokenSerializer 在哪里:
这只是从原始的 Djoser TokenSerializer 略微修改。AuthToken 对象没有key
属性会引发错误。诺克斯令牌似乎称之为它token_key
,所以我替换了以下行
auth_token = serializers.CharField(source="key")
:auth_token = serializers.CharField(source="token_key")
现在,它不会抛出错误,但会返回一个空令牌。检查实际数据库显示它已保存具有正确用户和创建时间的令牌,但摘要、盐和 token_key 为“null”