问题标签 [django-rest-auth]

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.

0 投票
1 回答
2092 浏览

python - 如何使用 Django Oauth Toolkit 通过移动/otp 登录

我们将 Django OAuth Toolkit 与 DRF(Django Rest Framework)一起使用。现在,我们要提供手机号码登录。为了进行身份验证,我们将使用 OTP(一次性密码)。如何做到这一点?

  • 一种解决方案是直接创建 auth-token,这看起来并不明智。
0 投票
1 回答
303 浏览

ios - 从 alamofire 返回令牌字符串

我正在准备将存储在我的 django-rest 框架中的临时令牌保存到执行一些 GET/POST 请求。这是我的代码:

因此,当我创建一个对象类型 API() 并且我可以在调用 getToken 时查看返回的令牌但我不知道如何存储它以将其传递给 api.getList(token) 函数:

谢谢!

0 投票
1 回答
16535 浏览

django - drf django rest auth 如何过期或删除令牌?

我正在尝试使用tivixdjango-rest-frameworkdjango-rest-auth通过 tivix 实现身份验证(链接到文档)。我使用 django shell 创建了一个用户,例如:

然后根据文档django-rest-auth,我使用like(终端命令)登录了一个用户:

它返回了一个令牌,我知道用户已通过身份验证。

现在我使用 django-rest-auth 文档中描述的方法退出,我仍然可以看到数据库中存在的令牌。然后我再次登录,它返回与密钥相同的令牌。

那么,每次用户注销时,是否有任何方法可以更改或更好地删除令牌。此外,文档中也没有提及令牌本身是否会在一定时间过后过期(自动删除)。

如果不可能,我如何在这两种情况下删除令牌?

编辑:登录和注销代码

urls.py(主要):

设置.py:

登录 CURL 命令:(以上给出)。登录命令响应:

注销 CURL 命令:

注销响应:

0 投票
2 回答
3587 浏览

django - Django rest auth 登录和注册失败

我正在构建一个新的 Djnago 应用程序。我正在使用 django-rest-auth ( http://django-rest-auth.readthedocs.io/en/latest/index.html ) 进行登录和注册。但是,它存在一些问题。

确切的问题是:

  1. 对于登录:当我尝试使用表单和原始数据选项通过 API 登录时,登录不成功。它给出了"non_field_errors": ["User account is disabled."]错误。
  2. 注册:当我填写数据并注册时,它给了我错误,但是数据保存在数据库中。

现在我做了很多事情,我不确定我做错了什么,我按照以下顺序做事

  1. 创建了一个新的 Django 休息项目
  2. 创建了一个名为 myauth 的应用程序来自定义用户模型,如下所示:

    /li>
  3. 在 settings.py 中添加它AUTH_USER_MODEL = 'myauth.User'并在 admin.py 中注册它。迁移创建了具有上述列的所有表。

  4. 我想修改注册,以便能够注册名字和姓氏以及用户名、电子邮件和密码。还能够使用电子邮件而不是用户名登录。因此,我的用户模型和 settings.py 中可能存在冲突代码。为此,在我的 serializers.py 中,我添加了以下代码:

    /li>
  5. 我的 settings.py 如下所示:

    /li>

我创建的自定义模型似乎有效,因为在迁移时它创建了包含所有提到字段的表。我什至可以在我的管理界面中看到它。

这里出了什么问题?

0 投票
0 回答
136 浏览

django - Django 自定义注册无法存储某些字段

我有一个 django rest 项目,其中我定制了用户模型以满足我的需求。我还创建了一个自定义序列化程序,以添加更多字段,如地址、电话号码等,以便在注册期间存储。我正在使用 django-rest-auth 进行登录和注册。可浏览 API 如下所示:

在此处输入图像描述

注册成功,但无法存储地址和用户类型。

我的自定义用户模型:

我的寄存器序列化器:

到底出了什么问题?为什么不存储这些字段?

0 投票
2 回答
7129 浏览

django - django-rest-auth 自定义注册无法保存额外字段

我正在使用 DRF,而对于登录/注册,我正在使用 Django-rest-auth。

  1. 我已经自定义了用户模型以具有额外的字段
  2. 我有自定义注册序列化程序来在注册新用户时存储额外的字段以及用户名、密码。

注册成功但是,额外的字段不会与用户名、名字、姓氏和密码一起保存。

我的模型:

我的序列化器:

怎么了?

0 投票
1 回答
918 浏览

django - 在 Django Rest Framework 中生成身份验证令牌时出错

我创建了一个端点 localhost:8000/getauthtoken 来生成身份验证令牌。

我用来获取身份验证令牌的 curl 命令是:

但我得到

但是在命令中我同时传递了用户名和密码

根据 DRF 文档http://www.django-rest-framework.org/api-guide/authentication/ 这是正确的方法。

0 投票
1 回答
1215 浏览

python - 如何允许未经身份验证的请求访问 Django Rest Framework 中的某些视图?

我正在开发一个基本的 Django Rest Framework API 应用程序,并且我正在尝试实现一个基于令牌的身份验证系统。我想阻止通过未经身份验证的请求请求的每个视图,登录和注册视图除外。目前,当我尝试登录或注册时,请求被拒绝,并且我得到“未提供身份验证凭据。”。

如何设置我的视图以便登录和注册不需要令牌?

我查看了权限和身份验证类,但真的不知道我需要从那里去哪里。

0 投票
1 回答
976 浏览

django - django-rest-auth:电子邮件验证失败,给出错误

配置不当

网址: /rest-auth/registration/account-confirm-email/[key]

TemplateResponseMixin需要定义template_name或实现get_template_names()

我是Django新手。

0 投票
1 回答
1781 浏览

django-rest-framework - JWT 令牌是否与 DRF 令牌存储在同一个表中?

我希望有人能解决我对 JWT 和 和 中的常规令牌身份验证的django_rest_auth困惑django_rest_framework

我将 django_rest_auth 与 JWT 一起使用(REST_USE_JWT = True)。我正在使用rest_auth.registration视图和rest_auth视图,并将我的默认身份验证类设置为'rest_framework_jwt.authentication.JSONWebTokenAuthentication'.

我已经包含了来自 rest_auth 的 url 并设置了以下 url url(r'^api-token-auth/', obtain_jwt_token),来自rest_framework_jwtdocs。

当我注册一个新用户时,我希望运行来自 rest_auth RegisterView 的以下代码:

但是在 Django Admin 中,我看到有一个 Auth Token 表“Tokens”,如果我使用了 Django 内置的 Token Authentication,那么它的令牌看起来就像一个普通的令牌。实际上,当我转到 /rest-auth/login 端点时,它会返回相同的令牌,例如{"key":"6b705cbab083833c38414d4c6e4970c0abbb0c9f"}. 但是,当我访问该用户的 api-token-auth/ 端点时,我得到了 JWT 令牌:{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InJvYmVydEByb2JlcnRjaHUuY28udWsiLCJleHAiOjE0NjY2ODI5MjcsInVzZXJfaWQiOjIsInVzZXJuYW1lIjoicm9iZXJ0QHJvYmVydGNodS5jby51ayJ9.IvJIQBY95TrQp3V483GVdpV0fQKedMk9hWEFytMRidU"}

这些密钥和令牌可以互换吗?我可以为同一个用户使用两个令牌吗?当然,我应该只有一个令牌选项来访问受保护的端点吗?

谢谢。