我已经使用 django rest 框架开发了一个 API 并使用了基于 token 的身份验证,现在我试图从单独的项目中使用它。我如何使用用户 ID 和密码登录并获取 token 作为响应并在所有下一个 url 调用中在 header 中使用 token 。
从 Shell 我已经检查了其中一位用户的 token 并从终端测试了 api,它的工作方式如下,
http://127.0.0.1:8000/corporate/company/ -H 'Authorization: Token 9f4702dfddbf89e0346b2ffd10fd69173c178273'
但是如何在 http 调用中使用这个 token 呢?
我已将 rest_framework.authtoken 包含在已安装的应用程序中,并将 url 包含在 urls.py 中,如下所示:
url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token')
现在我试图从另一个项目访问它,我在其中创建了一个登录表单?现在的问题是在哪里发布表单以及表单中应该有哪些字段。如果我发布了表单,那么 token 将作为响应返回,那么我如何在下一次调用的 header 中解析和使用?
我已经阅读了教程和 API 指南,但没有任何帮助。关于如何在 Api 准备就绪并通过浏览器可用的 api url 进行登录时访问我的项目中的 api。
最佳答案
Django rest framerwork 支持许多身份验证选项。如果需要,您可以使用基本身份验证。 如果您想使用 token ,您需要为您的用户设置一个带有正确 token 的 http header 。
从文档中您需要将其设置为(将 99... 替换为您的)
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b
关于python - django rest 框架身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17425423/