当我尝试使用localhost上的omniauth-uber gem进行身份验证时,我从优步获得'error = invalid_client_id'。我在优步注册了我的应用程序并且已经检查了我的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>
我在验证部分下的超级应用注册中指定的网址:
重定向网址:https://localhost:3000/auth/uber/callback
原始URI:https://localhost:3000/
答案 0 :(得分: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