问题标签 [django-rest-knox]

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 投票
3 回答
351 浏览

django - 如何延长 Knox-Token 的到期时间

我没有更改KnoxDjango 应用程序中的设置。默认到期时间是 10 小时,我该如何更改它不会到期。

0 投票
1 回答
313 浏览

django - Django REST Knox 身份验证问题

我已经使用 Knox-Rest 完成了 Django REST API 的开发工作。它在我的开发环境中运行良好,但在将其移至 Prod 环境后,它会对用户进行身份验证并返回一个令牌。然后使用 Postman 测试 API,我使用返回的令牌执行 GET,我收到 401 错误,未提供凭据。

查看“knox_authtoken”表,我看到每个登录名都有单独的行。在开发的同一张桌子上,我只看到每个用户一行。我相信为什么它不起作用的答案与我在桌子上看到的有关,但我不确定它在告诉我什么。

所有代码都是相同的,因此很可能在设置中,但我似乎无法追踪它。因此,任何对 Django Knox-REST API 有一定经验的人可能有一些想法,我将非常感激。

0 投票
1 回答
423 浏览

django - 为什么在 Django 的 AllowAny 视图中,我使用 Firefox 得到 401 Unauthorized 但不使用 Edge 或 Postman?

我正在使用 knox LoginView 来登录我的后端。这是视图的代码:

当我执行我的前端(使用 Angular 开发)并尝试使用 Microsoft Edge 登录时,一切正常。我得到令牌并将其保存在本地。如果我使用 Postman 执行 POST,结果相同。但是,如果我尝试使用 Firefox 做同样的事情,我会收到 401 Unauthorized 这个 JSON:

如果它是 AllowAny 视图,为什么它会要求令牌?为什么它在 Edge 和 Postman 中有效,但在 Firefox 中无效?

更多数据:

这是 settings.py 中的认证类:

编辑:实际上,它可以使用 Firefox 开发者版。

0 投票
1 回答
696 浏览

reactjs - 将访问令牌映射到客户端 IP

我的设置
我使用 React 和 Django 作为前端和后端。出于授权目的,我选择了 Django-rest-knox,它通过存储在数据库中的令牌工作。

我的问题
现在,如果攻击者获得了令牌(登录后存储在客户端的本地存储中),他可以做任何用户能够做的事情。令牌有一些到期时间,并且可以由用户自己销毁用户的所有令牌。但我想站在更安全的一边。

我的解决方案
我的想法是将所有令牌映射到用于登录的(用户的)IP 地址。这样,令牌只能在用于登录的机器上使用。将在后端检查令牌与 IP 地址的关系。

我的问题

  1. 这个想法是否可行,或者这些 IP 地址的性质是否有任何破坏我的意图?
  2. 获取客户端 IP 地址的最佳方法是什么?
  3. 您认为这是一种安全的方法吗?

谢谢您的帮助!

0 投票
0 回答
318 浏览

django - 如何在 django rest api 中登录我的多用户类型

我创建了我的扩展我的 model.py 有四个不同的

和其他人跟随,但他们采取了不同的细节,但没有完成,但serializer.py是

它完美地保存到数据库中,但我在views.py中编写的登录代码有问题

我写了这段代码来登录,但它不起作用请有人帮忙登录部分

0 投票
1 回答
241 浏览

django-rest-framework - 为什么我的登录 DRF API 的 URL 路由出现禁止错误?

我通过 django rest 框架创建了一个简单的登录 API。下面是代码片段:

视图.py

URLS.py

现在,当我使用电子邮件和密码在邮递员中发出 POST 请求时。它抛出错误:

注意::因为我使用 knox 来生成令牌。因此,当我进行新注册时,我也会获得令牌。请参阅下面的示例:

我尝试了密码和令牌进行身份验证,但我得到了同样的错误。在运行开发服务器的 cmd 提示符中,我看到以下消息

在邮递员原始正文中,我在 json 数据下方插入

以下是 DRF 的 settings.py 内容

不知道我这样做是否正确,请提出建议。

httpie 输出

0 投票
0 回答
58 浏览

django-rest-knox - 颤振的django-rest-knox注销问题

我将django用于后端,并将颤振用于项目的前端应用程序。使用基于 knox 的 url登录和注册用户可以正常工作,但是在 Flutter 应用程序中注销时会出现问题。我使用knox LogoutView注销用户。我已经搜索了很多解决方案,但未能获得任何可靠的线索。下面是注销实现

}

我使用 SharedPreferences 来存储令牌。我在终端中收到以下错误。

任何帮助表示赞赏!

0 投票
1 回答
110 浏览

python-3.x - DRF 和 Knox 将登录用户显示为匿名 (Django)

我使用 DRF 和 Knox 创建了一个 API,并且我正在使用基于令牌的身份验证。一切正常,除了系统将登录用户显示为匿名用户。

我尝试了所有这些:

我需要登录用户的用户 ID,因为我将其用作另一个表中的外键。我检查了 auth_user 表,它包含所有列。有什么方法可以获取用户 ID 或将匿名用户转换为经过身份验证的用户?

谢谢阿杰

0 投票
0 回答
89 浏览

django-rest-framework - Django REST IsAuthenticated Permission Class with django-rest-knox not working

我在我的项目中使用 knox 进行令牌身份验证(https://james1345.github.io/django-rest-knox/)。登录、注册和注销工作非常顺利。

现在我正在尝试添加用户只有获得许可才能到达的区域。为了解决这个问题,我按照推荐( https://james1345.github.io/django-rest-knox/auth/)将 djangos 默认权限类与我的身份验证类 TokenAuthentication 结合使用:

我在 API 视图上对其进行了测试,以检查 IsAuthenticated 是否限制了此视图,但它不起作用。手册推荐上述解决方案。

有人知道可行的解决方案吗?

干杯,

菲尔

0 投票
0 回答
260 浏览

android - 注销后如何使用 Retrofit 处理“204 no content”响应?

在我的 Android 应用程序中,我有以下注销功能:

包含端点的 API 接口包含以下内容:

在服务器端,我使用django-rest-knox作为第三方库进行身份验证。该库的注销端点有一个内置的 LogoutView,它在成功注销后返回“204 no content”响应。该文档建议不要更改 LogoutView,因为修改会导致不可预知的结果。但是虽然注销请求在服务器端成功,Retrofit 将“204 no content”响应视为异常。正如我在上面的代码片段中提到的,catch 子句被执行。

现在我的问题是:当请求成功时,为什么 Retrofit 会抛出异常?如何处理“204 no content”响应?