【发布时间】:2015-09-29 13:06:11
【问题描述】:
我正在尝试通过用户的 Google 帐户安全地登录用户。 我正处于使用thiscordova 插件检索用户ID 和oAuthToken 的阶段。
现在我需要将这些凭据发送到我的服务器,然后在服务器端验证令牌的完整性。本质上,我正在尝试执行this 过程的一部分。
我对应该尝试使用 Google 客户端 api 验证哪个令牌感到困惑。我应该使用 userID 还是 oAuthToken ?
文档提到验证用户 ID,但我觉得这很奇怪。这是否意味着如果有人获得我的用户 ID,他们基本上可以闯入我的服务器?用户 id 永远不会改变(如果我在这里错了,请纠正我),因此对此进行验证似乎不安全。验证设置为 expire 的 oAuthToken 不是更有意义吗?还是用户ID也过期了?
欢迎任何建议。
谢谢,
菲多
编辑:
对于任何有兴趣的人。我的困惑是由于不完全理解 google api 可以返回的三个令牌:userId、oAuthToken 和 idToken。 简而言之:userId 与大多数识别用户的 api 调用一起返回。这似乎是恒定的。当我作为 Android 客户端访问 google api 时,我的案例中的 oAuthToken 被返回。以 web 客户端访问 api 时返回 tokenId。因此,那些希望使用移动检索到的令牌进行服务器端验证的人应该作为 Web 客户端访问 api。然后可以使用类似于下面接受的答案的代码在服务器端验证返回的令牌。
【问题讨论】:
标签: android oauth google-signin