我有一个django项目,使用django-rest-framework创建api。
想要使用基于令牌的身份验证系统,因此api调用(放置,发布,删除)将仅对授权用户执行。
我安装了“ rest_framework.authtoken”并为每个用户创建了令牌。
因此,现在从django.contrib.auth.backends进行身份验证,它以auth_token作为属性返回用户。(成功登录时)。
现在我的问题是如何将带有请求后的令牌发送到我的api,在api端如何验证令牌是否有效并属于正确的用户?
应用程序rest_framework.authtoken中是否有任何方法可以验证给定的用户及其令牌?没发现这很有用!
更新(我所做的更改):在我的settings.py中添加了此内容:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
)
}
还在我的标头中发送令牌,但仍无法正常工作:
if new_form.is_valid:
payload= {"createNewUser":
{ "users": request.POST["newusers"],
"email": request.POST["newemail"]
}
}
headers = {'content-type' : 'application/json',
'Authorization': 'Token 6b929e47f278068fe6ac8235cda09707a3aa7ba1'}
r = requests.post('http://localhost:8000/api/v1.0/user_list',
data=json.dumps(payload),
headers=headers, verify=False)
“如何将带有发布请求的令牌发送到我的api”
从文档…
为了使客户端进行身份验证,令牌密钥应包含在Authorization HTTP标头中。密钥应以字符串文字“
Token”作为前缀,并用空格分隔两个字符串。例如:
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
“在api端,如何验证令牌是否有效并属于正确的用户?”
您无需执行任何操作,只需访问request.user
即可返回经过身份验证的用户-REST框架将处理对任何不正确的身份验证返回“ 401未经授权”的响应。
问题内容: 我将Memcached用作django应用程序的后端。这段代码在普通的Django查询中可以正常工作: 但与django-rest-framework api调用一起使用时不起作用: 我将尝试提供缓存功能的DRF扩展: https://github.com/chibisov/drf-extensions 但github上的构建状态当前表示“构建失败”。 我的应用程序在api调用上非常繁
Django REST framework 是一个强大且灵活的工具包,用以构建 Web APIs。文章翻译自官方网站,部分内容有增删。
问题内容: 如何在Django REST框架上启用CORS?该参考没有太大帮助,它说我可以通过中间件来完成,但是我该怎么做呢? 问题答案: 你在问题中引用的链接建议使用,其文档指出要安装该库 然后将其添加到已安装的应用程序中: 你还需要添加一个中间件类来侦听响应: 你可能还需要浏览其文档的配置部分,特别注意各种设置。
我正在使用Django REST框架创建REST API。API将提供大量数据,我想在页面上使用无限滚动。我想用Angular作为前端。我不知道如何提供数据,以便不是所有数据都必须发送一次,而是仅在用户向下滚动时发送。 我正在使用序列化程序类- 我不确定如何实现这一点。我应该使用Django无尽分页还是可以使用django-rest框架提供的分页来完成。我也不确定这的前端是如何工作的。这里的Web
Django REST Framework 这个名字很直白,就是基于 Django 的 REST 框架。
我用ImageField创建了一个简单的模型,我想用django-rest-framework+django-rest-swagger创建一个api视图,它是文档化的,并且能够上传文件。 以下是我得到的: 我阅读了django-rest-framework中的这部分文档: 我正在使用、和。