我试图在DRF(Django版本1.10)中集成基于令牌的身份验证,但是当我按照文档中提到的那样使用> dput(input)
structure(list(CT1 = structure(1:3, .Label = c("chr1:200-400",
"chr1:800-970", "chr2:300-700"), class = "factor"), CT2 = structure(1:3, .Label = c("chr1:250-450",
"chr2:200-500", "chr2:600-1000"), class = "factor"), CT3 = structure(1:3, .Label = c("chr1:400-800",
"chr1:700-870", "chr2:700-1400"), class = "factor")), .Names = c("CT1",
"CT2", "CT3"), class = "data.frame", row.names = c(NA, -3L))
> dput(output)
structure(list(CT1 = c(1L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L), CT2 = c(1L,
0L, 1L, 1L, 1L, 1L, 0L, 1L, 1L), CT3 = c(0L, 0L, 0L, 0L, 0L,
1L, 1L, 1L, 1L)), .Names = c("CT1", "CT2", "CT3"), class = "data.frame", row.names = c("chr1:200-400",
"chr1:800-970", "chr2:300-700", "chr1:250-450", "chr2:200-500",
"chr2:600-1000", "chr1:400-800", "chr1:700-870", "chr2:700-1400"
))
命中api-token-auth时,需要将令牌返回给我但是我是得到
{"username":"test","password":"123456789"}
我在已安装的应用中使用了{
"non_field_errors": [
"Unable to log in with provided credentials."
]
}
,一旦用户注册,就会生成令牌并保存在rest_framework.authtoken
表中。
同样在我的urls.py根目录中我使用
authtoken_token
任何帮助将不胜感激。还附上代码
urlpatterns += [
url(r'^api-token-auth/', authviews.obtain_auth_token),
]
答案 0 :(得分:0)
您可能没有哈希密码并保存原样。在您看来,您应该保存这样的密码。
user = User.objects.create(usename='test', first_name='first_name', email='test@abc.com')
user.set_password('password')
user.save()
user.set_password
将哈希密码。
答案 1 :(得分:0)
谢谢哈桑!问题得到解决。我使用了USERNAME_FIELD ='email'&在帖子数据中使用了实际的用户名。还有一件事我想弄清楚是否有人可以...我使用make_password来哈希我的密码我也可以使用user.set_password来哈希我的密码在我使用api-token-auth成功获得令牌的情况下。 DRF authtoken实际使用哪种哈希算法或库?或者我们可以使用任何可用的库来哈希Django会自动解码吗?