devise と omniauth を使用する Rails 4 アプリで LinkedIn の認証を構成する方法を見つけようとしています。私が持っている: 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.html.erb というファイルを含む home というフォルダーがあります。
LinkedIn にリダイレクト URL を www.xxxxxxx.com/home として登録し、次のことも試しました: www.xxxxxxx.com、www.xxxxxxx.com/views/home/home、www.xxxxxxx.com/home/家。これらのパスはどれも機能しません。
私の root_path と一致するものとして LinkedIn によって認識されることができるリダイレクト パスを定義する方法を理解するために誰かを助けてください。
事前にどうもありがとうございました。