我正在使用django和angularjs开展项目,我需要使用djangorestframework-jwt进行身份验证。我是djangorestframework-jwt的新手。我使用'/ api-token-auth /'进行登录,但我没有得到任何用户信息。
我的身份验证服务是:
function login (username, password, callback) {
return $http.post('/api-token-auth/', {
username: username, password: password
}).then(loginSuccessFn(callback), loginErrorFn);
function loginSuccessFn (callback) {
return function (data, status, headers, config, response) {
localStorage.setItem('empee.token',data.data.token);
$http.defaults.headers.common['Authorization'] = 'Bearer ' + data.data.token;
if (typeof callback !== 'undefined') {
callback();
}
}
}
function loginErrorFn (data, status, headers, config) {
console.error('Epic failure!');
}
}
登录控制器:
function login() {
Authentication.login(vm.username, vm.password, function() {
$state.go('dashboard');
});
}
答案 0 :(得分:0)
考虑到您在Django-rest-framework中公开了用户URL,您可以执行$ http.get。
$http.get('/user-url/'+userid).then(function(response){
if(response.status === 200){
user_obj = response.data;
}
});
要获取userId,您只需要用户angular-jwt
userid = jwtHelper.decodeToken(token).user_id;