我试图弄清楚如何使用我的 Rails 4 应用程序配置 LinkedIn 的身份验证,该应用程序使用 devise 和omniauth。我的 gem 文件中有:gem 'omniauth-linkedin-oauth2'。
我已经在 LinkedIn 上注册了我的应用程序,并在我的应用程序中插入了密钥和密钥。LinkedIn 开发人员论坛已确认该过程正在运行,但表示注册的重定向路径与我在回调中的内容不匹配。
我有一个 omniauth_callbacks 控制器,其中包含以下代码:
def linkedin
@user = User.find_for_linkedin_oauth(request.env["omniauth.auth"])
if @user.persisted?
redirect_to root_path, :event => :authentication
# sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
# set_flash_message(:notice, :success, :kind => "LinkedIn") if is_navigational_format?
else
session["devise.linkedin_data"] = request.env["omniauth.auth"]
redirect_to root_path
end
end
我正在重定向到我的 root_path。
我的 root_path 在我的 routes.rb 文件中定义为:home#home。
在我的视图文件夹中,我有一个名为 home 的文件夹,其中包含一个名为 home.html.erb 的文件。
我已在 LinkedIn 注册重定向 URL 为:www.xxxxxxx.com/home 并且还尝试了以下方法:www.xxxxxxx.com、www.xxxxxxx.com/views/home/home、www.xxxxxxx.com/home/家。这些路径都不起作用。
请有人可以帮助我了解如何定义一个能够被 LinkedIn 识别为匹配我的 root_path 的重定向路径。
非常感谢您提前。