我目前正在开发一个宠物项目,该项目在前端使用AngularJS,在Express上使用Express 后端。 Angular前端使用Restangular模块使用RESTful请求与后端进行通信。在后端,会话使用Passport进行身份验证。在浏览器上,身份验证效果非常好(例如,使用Postman,我可以发布我的登录信息,然后从服务器获取我想要的任何内容)。
问题是使用Restangular,我首先通过发送带有登录信息的POST请求来“登录”。主要逻辑如下所示:
account = Restangular.all 'login'
$scope.loginInformation =
{
username: ''
password: ''
}
succesfulLogin = (res) ->
console.log res
unsuccesfulLogin = () ->
console.log "Login failed"
console.log $scope.loginInformation
$scope.login = () ->
account.post($scope.loginInformation).then succesfulLogin, unsuccesfulLogin
输入正确的用户名和密码后,控制台会打印响应“Login Succesful。您现在已登录”,这是我们编码为正确登录时发送的响应(我们在postman上看到的响应相同)。< / p>
现在问题是,无论我尝试GET,代码中完成的每个GET请求都会返回403 Forbidden响应。
我在控制台上得到相同的回复
GET http://[ADDRESS] 403 (Forbidden)
Object {data: "Error: Not Authenticated", status: 403, headers: function, config: Object}
我不明白浏览器的工作方式和Postman的工作方式,但我的应用程序没有。
有没有人有类似设置的运气?
我的直觉告诉我,这与角度处理饼干的方式有关(尽管不确定)。