我有 github 使用 gemomniauth-github
和一个config/initializers/omniauth.rb
包含的文件
Rails.application.config.middleware.use OmniAuth::Builder do
provider :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET']
end
但是,当我http://localhost:3000/auth/github/callback
在浏览器上输入时,我也得到OmniAuth::Strategies::OAuth2::CallbackError
了,所以这不应该是问题。
我的config/environment.rb
样子
# Load the rails application
require File.expand_path('../application', __FILE__)
# Load the app's custom environment variables here, so that they are loaded before environments/*.rb
app_environment_variables = File.join(Rails.root, 'config', 'app_environment_variables.rb')
load(app_environment_variables) if File.exists?(app_environment_variables)
...
我的config/app/environment_variables.rb
样子
# OAuth Keys and Secrets
if Rails.env.production?
ENV['GITHUB_KEY'] = 'd1234a3a123a1a3a123c'
ENV['GITHUB_SECRET'] = '1234azer123azer1231209jeunsghezkndaz1234'
else
ENV['GITHUB_KEY'] = 'qsflkjkj685bg554456b'
ENV['GITHUB_SECRET'] = 'qslkfj7757kqfmlsdh675hlfsd587kjfdh687jsd'
end
请参阅是否可以在我的代码中为 rails 开发环境设置 ENV 变量?有关详细信息。我在 github 上注册了 2 个应用程序。一种app_name-dev
带有 key qsflk...
、 urlhttp://localhost:3000
和回调 url http://localhost:3000/auth/github/callback
,一种app_name
带有 key d1234a...
。
检查您是否正确执行了该操作。也许尝试更改localhost
为127.0.0.1
.