「omniauth-linkedin-oauth2」を使用しています。
Linkedinでログインすると、このエラーが発生します
無効なredirect_uri。この値は、APIキーで登録されたURLと一致する必要があります。
これは私の設定です:
LinkedIn開発者サイト( https://www.linkedin.com/secure/developer )に戻り、設定を再度確認します。すべてがAPIキー、秘密キー、およびOAuth 2.0リダイレクトURLに一致します。
いくつかの手がかりを探してウェブを検索しました。見つかりませんでした。
クレイジーな問題:
その後、URLでOwinがredirect_uri“ signin-linkedin”に余分な文字列を追加しているのを見ました。
URLをデコードしたとき、この http:// localhost:54307/signin-linkedin を見ました。
このURLを取得し、LinkedIn開発者サイトのOAuth 2.0 Redirect URLsフィールドに配置しました。
redirect_urlを確認してください。私の場合、このように見えます。
このために、OAuth 2.0 Authorized Redirect URLs:
http:// localhost:1729/signin-linkedin
ここで、 http:// localhost:1729 = base urlおよび
signin-linkedin =ベースURLの後に追加する文字列
エラーメッセージが表示されているURLを確認するだけです。
例えば。 Pythonのソーシャル認証を使用している場合、URLは次のようになります。
https://www.linkedin.com/uas/oauth2/authorization?scope=r_basicprofile+r_emailaddress&state=XXXXXX&redirect_uri=http://example.com.au/sa/complete/linkedin-oauth2/&response_type=code&client_id=YYYYYYY
したがって、リダイレクトURLには上記のURLのこの部分を使用します
http://example.com/sa/complete/linkedin-oauth2/
Zurb Revealモーダルポップアップから認証しようとしたときにこれがありました。私の場合、問題は、ポップアップに表示されていたページのURLが、LinkedIn開発者サイトのOAuth2リダイレクトURLリストにないことでした。
モーダルのページのページURLは、ブラウザーのアドレスバーに現在表示されていたURLではないため、見落としがちでした。ポップアップに表示されるページのURLを追加すると、機能しました。
もう1つの解決策は、ずっと使用しているclient_idを確認することです。redirect_uriのリストの更新ごとにclient_idが更新されるためです。
時間を費やした後、私は最終的に解決策に到達します。エラーはありません。URLを確認してredirect_uriを見つけるだけで問題ありません。リンクインされたdevアカウントoauth2リダイレクトフィールドに値をコピーして貼り付けます。
ライブラリを使用してoauthを処理する場合に言及する価値があります。一部のライブラリは、使用されるプロトコルを考慮しません(または、少なくとも追加のパラメータ化が必要です)。たとえば、Linkedinにoauth2 urlとして https:// example/callback を指定しましたが、ライブラリはパラメーターとして http:// example/callback でリクエストを送信しました。