cookie / oauth问题

时间:2012-08-18 01:43:16

标签: angularjs trigger.io

我有一些cookie / oauth问题。我想要实现的是打开一个新选项卡,让用户通过谷歌的oauth流程,并在返回应用程序后,他们应该能够使用他们收到的cookie向我们的api发出请求,但是..我不知道如何保存该cookie。如果我进入chrome的检查工具,我可以在资源选项卡中看到cookie,但是使用forge或angularjs(我正在使用的js框架)完成的任何事情都不包含cookie,并且由于浏览器的安全性,我无法设置它手动。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

为什么必须将其另存为Cookie?你有localStorage(或forge.prefs,但不确定它们是如何工作的。)

您使用的是移动应用,因此localStorage的安全性并不令人担心。

答案 1 :(得分:0)

我使用角度存储。它非常适合存储令牌。 https://github.com/auth0/angular-storage

登录后保存令牌:

      store.set('jwt', data.token);
      store.set('user', jwtHelper.decodeToken(store.get('jwt')));

然后检查您的令牌是否有效:

  .run(function($rootScope, $state, store, jwtHelper) {
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams) {
      if (toState.data && toState.data.requiresLogin) {

        store.set('redirect', {state: toState.name, stateParams: toParams});

        //TODO This is never passing but still redirecting?
        if (!store.get('jwt') || jwtHelper.isTokenExpired(store.get('jwt'))) {
          event.preventDefault();
          $state.go('login');
        }
      }
    });
  })