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