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