【发布时间】:2017-08-12 14:38:06
【问题描述】:
我正在拼命地了解如何在 Django 中使用 JWT 身份验证。
此页面说明如何根据用户名和密码获取令牌:
http://getblimp.github.io/django-rest-framework-jwt/
$ curl -X POST -H "Content-Type: application/json" -d '{"username":"admin","password":"password123"}' http://localhost:8000/api-token-auth/
Now in order to access protected api urls you must include the Authorization: JWT <your_token> header.
1) 如何从服务器获取“已登录”用户的用户详细信息(ID、电子邮件..)?如果我使用基于会话的身份验证,我只会序列化并在它已登录时返回 request.user。我不明白如果没有任何与身份验证相关的持久性,服务器将如何知道谁是谁。
2) 我什至不明白该页面中描述的过程如何安全。为什么攻击者不能直接劫持令牌并做他想做的事?据我了解,我只是得到一个令牌,然后在每个请求中发回相同的令牌。这甚至是真正的 JWT 吗?
【问题讨论】:
标签: python django authentication jwt