【问题标题】:omniauth: (linkedin) Authentication failure! invalid_credentialsomn​​iauth:(linkedin)身份验证失败!无效证件
【发布时间】:2023-02-01 02:22:25
【问题描述】:
Request phase initiated.
Started GET "/users/auth/linkedin/callback?code=...&state=..." for 127.0.0.1 at 2022-09-14 20:50:20 +0200
D, [2022-09-14T20:50:20.537126 #37240] DEBUG -- omniauth: (linkedin) Callback phase initiated.
E, [2022-09-14T20:50:21.021252 #37240] ERROR -- omniauth: (linkedin) Authentication failure! invalid_credentials: OAuth2::Error, invalid_request: A required parameter "client_secret" is missing
{"error":"invalid_request","error_description":"A required parameter \"client_secret\" is missing"}
Processing by Users::OmniauthCallbacksController#failure as HTML
  • 红宝石版本 3.2.0
  • rails 版本 7.0.4
gem 'omniauth'
gem 'omniauth-linkedin-oauth2'

【问题讨论】:

    标签: ruby ruby-on-rails-3 csrf omniauth omniauth-linkedin


    【解决方案1】:

    我可以确认您的修复确实有效。谢谢!我将它添加到我的应用程序到 config/initializers.rb 作为

     module OmniAuth
      module Strategies
        class LinkedIn < OmniAuth::Strategies::OAuth2
          def token_params
            super.tap do |params|
              params.client_secret = options.client_secret
            end
          end
        end
      end
    end
    

    Add this in your code

    lib/strategies/linkedin.rb

    And also this code in your devise.rb

    需要“策略/ linkedin”

    【讨论】:

      【解决方案2】:

      我是 rails 和编码的新手,所以我无法对这个问题提供任何解释,我苦苦挣扎了几个小时,我正在使用 devise,所以对我来说,解决方法是通过添加以下内容来降级 oauth2 版本:

      gem 'oauth2', '~> 1.0'
      

      在我的 Gemfile 中运行:

      $ bundle install
      

      我的猜测是这与 JSON 有关,我不确定它是否会影响设计功能。 Bhavesh Vadhvana 的回答也有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-11
        • 2013-01-02
        • 1970-01-01
        相关资源
        最近更新 更多