2

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

4

2 回答 2

1

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

您在移动应用程序中,因此无需担心 localStorage 的安全性。

于 2012-08-18T23:48:53.900 回答
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');
        }
      }
    });
  })
于 2015-09-28T19:09:11.610 回答