【发布时间】:2019-05-26 21:02:48
【问题描述】:
我正在尝试在 RoR 5.0.7 上使用omniauth-linkedin-oauth2。
gem 'devise'
gem 'omniauth'
gem 'omniauth-oauth2'
gem 'omniauth-linkedin-oauth2'
但我在生产环境中遇到错误,我无法启动 Rails 应用程序。我的本地开发环境运行没问题。
production.log 上的错误是
NameError (uninitialized constant OAuth Did you mean? OAuth2)
如果我换了
gem 'omniauth-linkedin-oauth2'
到
gem 'omniauth-linkedin'
然后包更新没有错误并且 RoR 正在运行。
我的生产环境是
Debian GNU/Linux 8.11 (jessie)
Apache/2.4.10 (Debian)
Phusion_Passenger/6.0.2
ruby 2.4.6p354
【问题讨论】:
-
您的应用是否配置为处理 OAuth 1 和 2 样式令牌?可能是现有数据的问题。
-
我想将 OAuth1 替换为 OAuth2。我的开发环境正在运行,没有任何错误。您的意思是生产环境中存在旧的 OAuth1 数据吗?如何查看?
-
是的,我就是这个意思。您应该能够以某种方式在控制台中检查它,但是如何操作取决于您如何保存当前令牌
-
非常感谢。你说的对。我清除了数据库上的所有会话,并且应用程序现在运行没有错误。我做的命令是 RAILS_ENV=production rake db:sessions:clear
标签: oauth-2.0 ruby-on-rails-5 linkedin-api