【问题标题】:Django Rest Framework Token Authentication with MongoEngine User使用 MongoEngine 用户进行 Django Rest Framework 令牌身份验证
【发布时间】:2014-11-22 14:48:25
【问题描述】:

我正在使用带有 MongoEngine 的 Django 安装来让 MongoDB 作为我项目的后端。

我已经实现了工作,但我坚持使用 Django Rest Framework 的身份验证系统。正在阅读他们的 authentication 章节的 API 指南,并正在尝试他们的 TokenAuthentication

令牌是使用

创建的
t = Token.objects.create(user=..)

它需要一个Django User 实例。由于我使用的是 MongoEngine,我在 settings.py 文件中的数据库条目设置为 Dummy。

那么如何创建一个可以被 Token 类使用的user 实例。

我尝试使用 MongoEngine 的 mongoengine.django.auth 创建用户,但 Token 类不接受此对象。

产生的错误是:

ValueError: Cannot assign "<User: gaurav>": "Token.user" must be a "User" instance.

请告诉我如何让它工作。

【问题讨论】:

    标签: python django authentication django-rest-framework mongoengine


    【解决方案1】:

    不幸的是,您必须自己编写它。作为参考,您可以使用我刚刚创建的要点:https://gist.github.com/RockingRolli/79ceab04adb72c106cd6 几周前我解决了这个问题,它有效。该代码基本上继承了 TokenAuthentication 并添加了 Mongoengine 特定的行为。 Mongoengine 还提供了 Django 用户功能:http://docs.mongoengine.org/en/latest/django.html#custom-user-model - IIRC 你还需要它们来进行 MongoTokenAuthentication。

    总而言之,在 Mongoengine 中使用 Django(+Rest 框架)在某些时候可能会很棘手,目前看来这些问题不会很快得到解决。

    【讨论】:

      猜你喜欢
      • 2019-05-18
      • 2015-09-16
      • 1970-01-01
      • 2015-12-15
      • 2013-05-03
      • 2018-12-15
      • 2018-07-10
      • 2019-07-28
      • 2019-01-18
      相关资源
      最近更新 更多