所以,我有一个需要 FB 登录的 Ionic 应用程序,一切都很好,但我需要做的是为每个 API 请求添加 2 个自定义标头。同样,这应该可以工作...我遇到的问题是,由于某种原因,我无法获取成功登录时设置的“fbtoken”。这是一些代码:
登录控制器:
OpenFB.login('email, user_friends').then(
function () {
OpenFB.get('/me').success(function (user) {
$localStorage.fbuser = user; //Set the user in local storage.
});
RequestService.get($scope.baseUrl + 'user')
.success(function(data, status, headers, config){
alert('Success!!!! ' + data);
}).error(function(data, status, headers, config){
if(status = 401) alert('Not Authorized!');
});
},
function (error) {
alert('OpenFB login failed' + error);
});
};
应用程序.js
.config(function($stateProvider, $urlRouterProvider, $httpProvider) {
$httpProvider.interceptors.push(function($q, $localStorage) {
console.log($localStorage);
return {
'request': function(config) {
config.headers['Auth-Token'] = JSON.parse(localStorage.get("fbtoken"));
config.headers['Auth-Provider'] = 'facebook';
return config;
}
};
});
});
我可以从控制器中设置的本地存储访问 fbuser。如果我查看 Chrome Inspector,fbuser 和 fbtoken 之间的唯一区别是名称不同:
fbtoken
ngStorage-fbuser
这是问题吗?我可以将 fbtoken 的值输入到我的 inceptor 中吗?