我正在开发一个带有谷歌+用户身份验证的AngularJS应用程序。我已经采用了angular-google-plus软件包(一个Angular模块,可以使用Google+ API处理登录)。
在它的核心,登录将使用gapi对象:
gapi.auth.authorize(...)
页面不刷新时一切正常。例如,我可以通过以下方式从API获取当前用户:
gapi.client.oauth2.userinfo.get().execute(function() { ... })
但是,当我刷新页面时,状态不会被保留。
刷新页面后,为了保持“Logged-In”状态,我需要做什么?似乎谷歌api“忘记”了这个州。
答案 0 :(得分:0)
我不熟悉您的代码...真的OAuth 2.0
吗?
我认为您是在谈论Google Sign-In JavaScript client,因为您提到的是页面刷新。
我相信您无法立即获得诸如gapi.client.oauth2.userinfo
之类的任何信息,因为没有代码等待实例初始化。
使用then
执行以下操作:
gapi.auth2.init({client_id: "...", ...}).then(function(googleAuth) { // onInit
console.log(googleAuth.isSignedIn.get());
}, function() { // onError
});