首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用护照在我的node.js服务器上验证android应用程序的GPGS令牌

问如何使用护照在我的node.js服务器上验证android应用程序的GPGS令牌
EN

Stack Overflow用户
提问于 2017-06-26 06:36:23
回答 1查看 358关注 0票数 0

我已经开发了一个游戏客户端(Android)和服务器,使用的是团结和node.js。

服务器的登录功能是用passport.js实现的.很简单,所以我什么都不担心。我应该通过弹出应用程序浏览器来实现游戏中的登录功能。

但事实证明,android游戏需要使用"Google“登录谷歌。在这种情况下,我搞不懂如何使用passport.js。

我所知道的GoogleOAuth2.0登录的顺序大致如下。

  1. 游戏客户端使用“谷歌-游戏-插件-为统一”向GPGS请求“身份验证”。
  2. 如果登录成功,游戏客户端可以使用"GetIdToken()“api获得”授权代码“。
  3. 游戏客户端将此令牌发送到我的游戏服务器。
  4. 游戏服务器通过Google服务验证令牌(来自step3)。
  5. 如果验证成功,我的服务器可以获得用户信息和访问令牌。
  6. 完全登录完毕。

我想知道如何使用step3实现passport.js及以后的应用。我是否可以使用passport.js来实现这一点,只使用"GoogleStrategy“配置?多么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-27 05:37:01

我自己找到了解决办法。我所知道的有些不对劲。GoogleOAuth2.0的顺序和上面一样正确,除了一件事。

我想我可以通过使用"GetIdToken()“api来获得”授权代码“(GetIdToken()api)中的”google plugin-for统一性“。但是,如果我想获得“授权代码”,我必须使用"GetServerAuthCode()",而不是使用"GetIdToken()“。这种描述是在ReadME的“谷歌-游戏-插件-统一”的github。我没有详细阅读是我的错。

IdToken和AuthCode不一样,这是我不知道的部分。(请参阅https://github.com/playgameservices/play-games-plugin-for-unity#retrieving-server-authentication-codes的“检索服务器身份验证代码”)

现在,游戏客户端可以很好地使用"GetServerAuthCode()“获取”授权代码“,而游戏客户端可以按下面的方式将此令牌发送到游戏服务器(使用get,但谷歌建议使用post)。

var _url =“YOUR://WEBAPP/REDIRECTION/URL?_url=”+_url

游戏服务器将获得这个url,服务器可以使用"passport.authenticate“,这与从web浏览器获得重定向url的方式相同。

如果您的用户auth info(android应用程序和web应用程序)都在同一个Google控制台项目中注册,他们将共享auth信息,登录过程将执行与使用浏览器案例相同的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44754177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档