【发布时间】:2020-04-15 14:19:00
【问题描述】:
我收到来自 Google 的 401 - deleted_client 登录我的 rails 应用程序。我之前有它工作过,但我在我的 secrets.yml 文件中不知不觉地将 id 和秘密提交给了 GitHub。
我删除了旧的和受感染的客户端,创建了一个新的客户端 ID,并更改了我的 omniauth.rb 文件中的 ID 和密码,现在每次我使用 Google 登录时都会引发 401 错误。我需要刷新什么吗?我不想重新启动应用程序。
Authorization Error
Error 401: deleted_client
The OAuth client was deleted.
【问题讨论】:
-
我们讨论的是什么版本的 Rails?如果您使用的是 Rails 5.2+,则应该使用加密凭据。也很难知道你在这里实际上在做什么。您是否只是通过将新凭据硬编码到 omniauth.rb 中来“解决”问题?还是您还在使用 secrets.yml(这是您苦心学习的一个坏主意)?
-
我使用的是 Rails 6.0.2.2。我在没有意识到的情况下提交了 secrets.yml。我删除了 Google 开发者控制台上的应用程序/客户端详细信息,创建了新凭据并将新的 id 和密钥存储在我的 .env 文件中。我从未对凭据进行硬编码。我通过omniauth.rb 构建器运行了.env 变量。现在我的问题是当我使用我的应用程序尝试 Google 登录时,它会引发 401 错误。我是 Oauth 的新手。如果这很明显,我深表歉意,但我无法找到并理解解决方法。
标签: ruby-on-rails ruby oauth-2.0 omniauth google-oauth