登录服务器端应用程序以及不推荐使用

时间:2019-01-29 18:20:27

标签: google-oauth google-plus server-side google-signin deprecation-warning

我有一个服务器端应用程序,要求用户使用其浏览器登录,然后服务器继续使用该令牌自己做事。

我正在使用此处描述的流程,几乎逐字记录,但有一些其他作用域:https://developers.google.com/identity/sign-in/web/server-side-flow。在此流程中,Google接管了登录过程。我用gapi.auth2.init()创建一个auth2对象,然后在该对象上调用.grantOfflineAccess(),然后如果成功的话,会得到带有令牌的回调。我不知道这是否是最新/最好的方法,但是效果很好。

今天,我收到了一封来自Google的电子邮件,警告我我正在使用plus.me范围,该范围已弃用,并将于2019年3月停止工作。

事实是,我没有在代码中的任何地方请求该范围,并且我的应用程序未使用Google Plus。我只要求:

https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/gmail.compose
profile
email

看起来好像对plus.me和其他一些作用域的请求的插入来自Google的代码,来自https://apis.google.com/js/client:platform.js的东西,或者是稍后在登录过程中Google下载的东西- -这就是过程的妙处:Google会制作一些我不需要了解的东西。

但最终,我从Google获得的令牌包括:

scope: "openid email profile https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/gmail.compose https://www.googleapis.com/auth/calendar.readonly https://www.googleapis.com/auth/userinfo.email"

肯定有我不需要的东西,包括plus.me,我猜这就是我所关心的。如何控制或停止此操作?或者,也许我不需要做任何事情,而Google会在关闭plus.me范围之前自行照顾好它?

1 个答案:

答案 0 :(得分:1)

您是正确的,您的范围请求很好。从您的个人资料范围请求中隐含了plus.me。不幸的是,在这种情况下,电子邮件通知发送给了许多开发人员。如果您已完成代码搜索,而我们所知的全部信息是plus.me,那应该没问题。只要确保您没有使用任何可能也具有这种依赖性的3P库即可。