在 Ruby 中验证 Google ID 令牌的完整性
Posted
技术标签:
【中文标题】在 Ruby 中验证 Google ID 令牌的完整性【英文标题】:Verify the integrity of Google ID token in Ruby 【发布时间】:2015-10-02 02:42:24 【问题描述】:我正在将 Google 登录功能集成到 Rails 驱动的网站。我正在关注https://developers.google.com/identity/sign-in/web/backend-auth 的指南,但遇到了一些问题。
主要的挂断是验证 ID 令牌的完整性 段落。它概述了验证 JWT 的几个步骤,然后指出:
我们强烈建议您使用适用于您平台的 Google API 客户端库,或者调用我们的
tokeninfo
验证端点,而不是编写您自己的代码来执行这些验证步骤。
我一直在使用tokeninfo
端点进行调试,但文档指出:
[
tokeninfo
端点] 仅适用于每月活跃用户少于 100 个的部署,以及用于调试和提供信息的目的。...
使用其中一个 Google API 客户端库是在生产环境中验证 Google ID 令牌的推荐方法。
对于 Java,Google API 客户端库包含一个可以验证 id 令牌的 GoogleIdTokenVerifier
对象。
对于 Python,提供了一个 verify_id_token
函数。
我已经在文档中搜索了 Google Client API Ruby gem(目前处于 alpha 阶段)以及 google-auth-library-ruby gem,但找不到等效的功能。
Ruby 是否有类似的功能?
更新:
看来https://code.google.com/p/google-id-token/ 可能会这样做;但是,该项目自 2014 年以来一直没有更新。
我正在寻找一个维护项目,最好直接来自 Google。
【问题讨论】:
【参考方案1】:存储库已移至此处:https://github.com/google/google-id-token
看起来正在积极维护。
【讨论】:
以上是关于在 Ruby 中验证 Google ID 令牌的完整性的主要内容,如果未能解决你的问题,请参考以下文章
在 PHP 中验证 ID 令牌时出错 - Google API
Google 登录 - 访问令牌、身份验证令牌和 JWT ID 令牌之间的区别
使用 Google 登录 - 我们如何在 .net 中验证 Google ID 令牌服务器端?缺少代码示例,库似乎已弃用