DJC*_*DJC 5 php nginx jwt angularjs satellizer
我有一个Angular应用程序,它使用我在Laravel中构建的API,并且我使用jwt-auth进行令牌管理,并在前端使用satellizer来为每个请求发送令牌.
我的生活环境(无论是前端和API - 一旦应用程序完成后,将被移动到不同的服务器),目前由2个带有负载平衡器Nginx的运行AWS EC2实例.两台服务器都具有相同的jwt密钥.
但是,目前我无法解决任何模式,我随机从我的api返回400"token_invalid"错误.它不是一个特定的api路由,也不是应用程序的每个负载.当我从我的/客户端端点获得400错误时,其他请求将返回200.下次,所有人都将返回200.之后的时间我可能会为/ clients返回200但是/ users的400错误.
这可能是我使用负载均衡器的问题吗?正如我所说,jwt密钥在两台服务器上是相同的 - 因为所有代码都在GIT中.
我没有使用jwt.refresh中间件.
还有一点需要提一点,我在生产过程中通过Homestead在本地运行应用程序时,不会得到400错误.
编辑 -这好像注销(这将清除我的两个用户对象(仅基本信息),并从本地存储的令牌,清除我的缓存,然后重新登录最常引起的误差-这是有帮助吗?
以下是我的一个api电话的示例.
App.js
.service('ClientsService', function($http, $q, __env) {
this.index = function () {
var deferred = $q.defer();
$http.get(__env.apiUrl + '/clients')
.then(function successCallback(response) {
console.log(response.data);
deferred.resolve(response.data);
},
function errorCallback(response) {
console.log(response);
});
return deferred.promise;
}
})
Run Code Online (Sandbox Code Playgroud)
ClientsController.js
.controller('ClientsController', function(ClientsService, $stateParams, $mdDialog, $mdToast) {
var vm = this;
ClientsService.index().then(function(clients) {
console.log('ClientsCtrl init');
vm.clients = clients.data;
});
// other controller code
})
Run Code Online (Sandbox Code Playgroud)
我真的很难调试这个,所以任何帮助都会非常感激.如果需要更多信息,请告诉我.
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |