使用 omniauth-uber 进行身份验证时来自 Uber API 的错误 (invalid_client_id )

Error (invalid_client_id ) from Uber API when authenticating with omniauth-uber

当我尝试在本地主机上使用 omniauth-uber gem 进行身份验证时,我从优步收到 'error=invalid_client_id'。我在 Uber 注册了我的应用程序,并三次检查了我的 clientID。这可能与我在本地主机上有关,而优步无法识别我的应用程序吗?

config/initializer/omniauth.rb 文件(我在 .env 中指定了我的密钥):

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :uber, ENV['UBER_CLIENT_ID'], ENV['UBER_CLIENT_SECRET'], :scope => 'profile,history'
end

发出请求的视图中的片段。

<div id="sign-in">
  <%= link_to "Sign in with Uber", "/auth/uber" %>
</div>

我在优步应用程序注册中的身份验证部分指定的Url:

重定向 URL:https://localhost:3000/auth/uber/callback

源 URI:https://localhost:3000/

我能够通过将我的优步应用程序网址从 HTTPS 更改为 HTTP 来解决问题。然后我还从我的 omniauth.rb 文件中删除了 ENV,并将密钥直接放入其中:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :uber, 'UBER_CLIENT_ID', 'UBER_CLIENT_SECRET', :scope => 'profile,history'
end