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