0

所以,我有一个需要 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 中吗?

4

1 回答 1

0

好的,所以我决定不使用 ngStorage 模块,而是使用原生 JS 并运行localStorage.setItem(option, value)&localStorage.getItem(option)

于 2015-05-27T14:59:03.357 回答