使用 Devise 和 omniauth-linkedin-oauth2 在 Ruby on Rails 中实施 LinkedIn OAuth

问题描述 投票:0回答:0

我正在开发 Ruby on Rails 7 应用程序,并尝试使用 Devise gem 与 omniauth-linkedin-oauth2 集成 LinkedIn 身份验证。我遵循了教程 (https://nicoproto.medium.com/sign-up-with-linkedin-on-rails-d55ea0e80f2a),但我无法让它工作。

这里是我到目前为止所做的简要概述:

  • 在我的 Gemfile 中添加了“devise”和“omniauth-linkedin-oauth2”gems 并运行了 bundle install。
  • 安装了 Devise 并使用 Devise 创建了一个用户模型。
  • 使用 LinkedIn 提供程序配置 Devise 初始化程序。
  • 更新了我的用户模型以处理 OmniAuth 回调并创建或更新用户信息。
  • 通过迁移向用户模型添加了必要的字段。
  • 更新 config/routes.rb 以添加 Devise 路由和回调路由。
  • 创建了一个新的控制器来处理 OmniAuth 回调。
  • 在我的视图中添加了一个链接以启动 LinkedIn OAuth 流程。

尽管遵循了这些步骤,但我无法在我的应用程序中使用 LinkedIn 身份验证。我正在寻找一些指导或代码审查来帮助我解决问题。

任何帮助将不胜感激。提前致谢!

Started POST "/users/auth/linkedin" for ::1 at 2023-04-25 13:01:39 +0200
I, [2023-04-25T13:01:39.243607 #14205]  INFO -- omniauth: (linkedin) Request phase initiated.
Started GET "/users/auth/linkedin/callback?code= A LONG STRING OF SCHARACTERS HERE" for ::1 at 2023-04-25 13:01:45 +0200
I, [2023-04-25T13:01:45.693351 #14205]  INFO -- omniauth: (linkedin) Callback phase initiated.
E, [2023-04-25T13:01:45.970601 #14205] 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"}

要使用 Linkedin 登录,

ruby-on-rails oauth-2.0 devise omniauth-linkedin
© www.soinside.com 2019 - 2024. All rights reserved.