问题标签 [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 回答
621 浏览

android - Android - 使用带有 Cookie 身份验证的 REST API

我正在尝试为 REST API 构建客户端,该客户端用于通过 Cookie 发送的身份验证用户名、密码和 CSFR 令牌。该 API 建立在 Django 框架上,它很好地描述了CSRF 的 Cookie-Auth是如何工作的。

我对 Android 作为 REST Client 进行了大量研究,发现了很多示例,但没有一个与 Cookie 处理有关。所以我在RoboSpiceRetroFit上苦苦挣扎了 3 天,它们通常被认为是“易于使用”,但我不是很有经验,而且确实遇到了麻烦。而且我从来没有让 Cookie 身份验证工作。

任何人都可以帮助我,如何使用带有 Cookie Auth 的 REST API?或者哪个库最容易处理这个问题?

谢谢!

PS:请原谅我不要发布源代码片段,但它是如此混乱和分散在文件中:我什至不知道如何组织 API 处理的代码。我刚开始... :-(

0 投票
1 回答
5446 浏览

django - django rest-auth 获取用户配置文件

我有点迷失了......我正在尝试开发一个需要对 Django Web 应用程序进行身份验证的离子应用程序。

我安装了 Django-Rest-Framework 和 Django-Rest-Auth。我可以登录,使用令牌获取用户,但是如何检索更多用户数据?

在 host.com/rest-auth/user/ url 中使用 Django-rest-auth 我只有以下数据:

但我需要更多!像 id、user_photo、city...

我尝试像这样配置用户序列化程序:

这个观点:

但我无法获取用户数据,因为我不知道用户 ID..

任何帮助或线索???

提前致谢

0 投票
2 回答
2548 浏览

django - Django REST 的 JSON Web 令牌不会向用户数据库进行身份验证

我有一个工作的 Django REST API 后端。我以前使用会话身份验证,但想转移到基于令牌的跨多个服务器的扩展。我已经研究了几天了,但我还没有找到我的问题的答案。我将 djangorestframework-jwt 包添加到我的应用程序中,但是当我尝试进行身份验证时总是返回:

我在 jwt 包中看到了这个错误,并且可以通过身份验证过程跟踪代码。我在身份验证过程中看不到任何错误。当我尝试使用这些凭据创建用户时,它说用户已经存在,所以我知道它正在访问正确的用户表。我不确定为什么 get_jwt_token 端点不会验证我的凭据。以下是我的 django 应用程序的相关部分。任何帮助将不胜感激。如果我遗漏了任何可以帮助解决此问题的内容,请告诉我,我会上传。谢谢,

应用程序/settings.py

应用程序/urls.py

卷曲命令

0 投票
1 回答
385 浏览

django - django rest-auth Facebook 注册

我正在尝试使用 django rest-auth 通过 Facebook 注册用户。

根据此处的安装文档,通过 facebook 注册用户的休息调用需要“访问令牌”和“代码”。我知道什么是访问令牌,但什么是“代码”?

0 投票
0 回答
553 浏览

django - CSRF 验证失败:cordova 和 djangorestframework 缺少引用标头错误

我正在使用cordova构建一个应用程序,后端使用django rest框架和django rest-auth(用于提供和django all-auth,用于提供REST api注册/登录端点)。我也在使用 django allauth,但可能与这个问题无关。

当我尝试通过 rest-auth 提供的 rest-auth/login 端点登录时,我收到 403 错误消息:

“CSRF 验证失败。请求中止。您看到此消息是因为此 HTTPS 站点要求您的 Web 浏览器发送一个 'Referer 标头',但没有发送....”

我正在使用 DRF 提供的基于令牌的身份验证,我对 DRF 和中间件的设置是:

令人惊讶的是,它过去一直为我工作,直到现在它也可以在调试模式下工作(本地主机上的开发服务器)。据我了解,即使在调试模式下,csrf 验证也未被禁用,因此即使使用调试模式服务器,csrf 验证也应该失败。

为什么它需要带有令牌身份验证的Referer 标头,并且由于该应用程序是基于cordova 的,因此客户端可能不会提供referer 标头?

0 投票
2 回答
1838 浏览

python - Django rest 基本身份验证问题(HTTP 400)

我正在构建一个启用了基本身份验证的 API。当我尝试使用可浏览的 api 将实例添加到数据库(在具有 AllowAny 设置的视图集上)时。这在我没有登录时有效。但是,当我没有登录时,它会给我一个错误:

HTTP 400 错误请求内容类型:application/json 变化:接受允许:POST、OPTIONS

这是视图集:

这是我的 urls.py 文件:

我最近才遇到这个问题。我从 django 文档中制作了片段应用程序,该应用程序完美运行了大约一周。但是,自从几天以来,我对这个 api 和我自己的 api 有同样的问题。我也尝试过chrome和firefox。

编辑:虽然我明白为什么 http 错误代码可能与我的问题相反,但我高度怀疑错误在于 django-rest 身份验证,因为当我注销并填写完全相同的数据时,它确实有效。以下是我分别登录和注销时 PUT 请求的响应错误代码:

编辑 2:我从 django-rest-framework-tutorial github 下载了确切的源代码。我创建了一个超级用户并且发生了完全相同的事情,由于某种原因 django rest browsable api 或者我的浏览器没有正确发送帖子数据。

编辑 3出于某种原因,我降级到其余框架的 3.2.5 版本对我有用。我不是唯一一个遇到这个问题的人:Django Rest Framework - Browsable API Form always return 400 bad request

0 投票
2 回答
8119 浏览

django - 对 ModelSerializer 使用 Super create 方法

我试图通过在类的扩展中使用 ModelSerializer 的 create 方法来节省一些工作,然后在扩展中添加我需要的额外字段。但是,当我这样做时,我从 DRF 收到关于不支持嵌套序列化程序中的可写字段的错误。有什么方法可以实现这一点,这样我就不必在 create 方法中显式定义每个字段,而是将该工作推送到超级构造函数中?包括我的代码:

这是我得到的错误:

我正在使用 Rest Framework V3.3.1

0 投票
1 回答
1353 浏览

python - 在后台运行特定的 Django 脚本

我正在开发一个 Gmail 提取应用程序并使用 Gmail API 从服务器获取邮件。问题在于即使我在后端框架中使用了线程,邮件的获取时间也太大了。现在我将实现一项功能,该功能将建议用户选择批量下载“一旦您的下载准备就绪,我们将向您发送邮件”,但为此我想在后台的应用程序树中运行下面提到的download.py ,一旦获取结束了它将被终止。在代码的最底部,我想向用户发送他们的下载已准备好但无法正常工作的邮件,尽管我已经在settings.py中定义了邮件服务器。

下载.py

请告诉我在后台运行它的方式。如果需要任何其他信息,请询问。谢谢

0 投票
2 回答
1793 浏览

django-rest-framework - 将 django rest 框架 API 限制为我的移动和网络应用程序

将我的 django rest 框架 API 限制为仅对我的移动和 Web 应用程序可用的推荐方法是什么?我正在使用 django-rest-auth 对我的用户进行身份验证。有一些 API 可以匿名访问。但我需要确保所有 API 都只能通过我的应用程序(移动和网络)使用。

任何帮助/教程都非常感谢。谢谢

0 投票
1 回答
6049 浏览

python - 字段名称“用户名”对模型无效

我正在尝试使用 rest-auth 提供的序列化程序从定义的端点/rest-auth/user/获取(*带有标头)用户详细信息

(*带有标头(内容类型:application/json 授权:令牌 1a5472b2af03fc0e9de31fc0fc6dd81583087523))

我得到以下回溯:https ://dpaste.de/oYay#L

我已经定义了自定义用户模型(使用电子邮件而不是用户名),如下所示:

设置如下:

不知道如何纠正这个错误..以便它符合 rest-auth 序列化程序。