1

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

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>

我在身份验证部分下的 uber 应用注册中指定的 Url:

重定向网址:https://localhost:3000/auth/uber/callback

源 URI:https://localhost:3000/

4

1 回答 1

2

我能够通过将我的超级应用程序网址从 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
于 2015-04-22T02:31:41.997 回答