我使用django rest框架开发了一个API,并使用了基于令牌的身份验证,现在我尝试从单独的项目中使用它。我如何使用用户ID和密码登录并获得响应中的令牌,并在所有下一个url调用中使用标头中的令牌。
从Shell我已经从终端检查了一个用户和经过测试的api的令牌,它的工作方式就像,
http://127.0.0.1:8000/corporate/company/ -H 'Authorization: Token 9f4702dfddbf89e0346b2ffd10fd69173c178273'
但如何在http调用中使用此令牌?
我在已安装的应用中包含了rest_framework.authtoken,并在urls.py中包含了url:
url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token')
现在我试图从另一个项目访问它,我已经在其中创建了一个登录表单?现在问题是在哪里发布表格以及表格中应该有哪些字段。如果我发布了表单,那么将返回令牌作为响应然后如何解析并在下次调用时使用标头?
我已经阅读了教程和API指南,但没有帮助。关于如何在Api准备就绪的情况下访问我的项目中的api,并且登录正在通过浏览器启用的api url。
答案 0 :(得分:3)
Django rest framerwork支持许多auth选项。如果需要,您可以使用Basic Auth。 如果您想使用令牌,则需要为您的用户设置一个带有正确令牌的http标头。
从你需要设置的文档(替换99 ...与你的)
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b