OpenFB AngularJS 从本地存储获取 FBToken
OpenFB AngularJS getting the FBToken from local storage
所以,我有一个需要 FB 登录的 Ionic 应用程序,一切都很好,但我需要做的是向每个 API 请求添加 2 个自定义 headers。同样,这应该可以工作......我遇到的问题是由于某种原因我无法获取成功登录时设置的 '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);
});
};
app.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 中吗?
好的,所以我决定使用原生 JS 而不是使用 ngStorage 模块 运行 localStorage.setItem(option, value)
& localStorage.getItem(option)
所以,我有一个需要 FB 登录的 Ionic 应用程序,一切都很好,但我需要做的是向每个 API 请求添加 2 个自定义 headers。同样,这应该可以工作......我遇到的问题是由于某种原因我无法获取成功登录时设置的 '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);
});
};
app.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 中吗?
好的,所以我决定使用原生 JS 而不是使用 ngStorage 模块 运行 localStorage.setItem(option, value)
& localStorage.getItem(option)