我有一个Rails和Ionic项目.后端使用devise_token_auth Gem和前端ng-token-auth; 这些应该是"无缝地"工作.
我已经将所有工作都注册并登录,这将返回一个有效的响应对象.但是,在我使用$ state.go('app.somepage')之后的任何进一步请求都会导致401 Unauthorized响应.
我觉得我实际上并没有将令牌存储在任何地方.有人可以帮忙吗?
以下是一些片段:
.controller('LoginCtrl',['$scope', '$auth', '$state', function($scope, $auth, $state) {
$scope.loginForm = {}
$scope.handleLoginBtnClick = function() {
console.log($scope.loginForm);
$auth.submitLogin($scope.loginForm)
.then(function(resp) {
$state.go('app.feed');
})
.catch(function(resp) {
console.log(resp.errors);
});
};
Run Code Online (Sandbox Code Playgroud)
州定义:
.state('app', {
url: "/app",
abstract: true,
templateUrl: "templates/menu.html",
controller: 'AppCtrl',
resolve: {
auth: function($auth) {
return $auth.validateUser();
}
}
})
Run Code Online (Sandbox Code Playgroud)
资源:
factory('Post', ['railsResourceFactory', 'apiUrl', function (railsResourceFactory, apiUrl) {
return railsResourceFactory({
url: apiUrl + '/posts',
name: 'post'
});
}]).
Run Code Online (Sandbox Code Playgroud)
在PostsCtrl中:
$scope.loadFeed = function() {
Post.query().then(function (posts) { …Run Code Online (Sandbox Code Playgroud)