【发布时间】:2021-11-02 08:36:14
【问题描述】:
使用库 “firebase_id_token” 在 ruby on rails 中验证 firebase id 令牌。
一旦我使用 google_sign_in 库从前端获取有效令牌并将其发送到后端,它总是提示为 "JWT:: VerificationError(引发签名验证)”。即使我已经在 jwt.io 中签入,在那里我可以看到 payload 和 header 的信息,但无法验证签名。
firebase_id_token.rb
FirebaseIdToken.configure do |config|
config.project_ids = ["project_id"]
config.redis = Redis.new(host: "localhost", port: 6379)
end
FirebaseIdToken::Certificates.request
另外,我检查了kid 密钥在此链接上是否有效
https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com
我已经调试代码一个多星期了,请任何人帮忙解决这个问题。
PS:我已经使用有效令牌而不是过期令牌测试了代码。
【问题讨论】:
-
离开说明:问题在于前端的令牌创建部分,一旦我们更改了它的工作代码。
标签: ruby-on-rails firebase firebase-authentication jwt google-signin