Facebook OAuth: カスタムcallback_uriパラメータ
2023-09-22 18:55:53
質問
Facebook OAuth2統合のために、動的なリダイレクトURLを持ちたいと思います。 たとえば、私の Facebook アプリでリダイレクト URL が次のようになる場合。
http://www.mysite.com/oauth_callback?foo=bar
特定のリクエストに対するリダイレクトURLを以下のようにしたいのですが、そうすればサーバー上で、認証コードをどのように処理するかについてのコンテキストを持つことができます。
http://www.mysite.com/oauth_callback?foo=bar&user=6234
認証ダイアログが送信された後にリダイレクトが実行され、認証コードが返ってきますが、アクセストークンを取得しようとすると、FacebookからOAuthExceptionエラーが返されます。 私のリクエストは以下のようなものです(わかりやすくするために改行を追加しています)。
https://graph.facebook.com/oauth/access_token ?client_id=MY_CLIENT_IDを指定します。 &redirect_uri=http%3A%2F%2Fwww.mysite.com%2Foauth_callback%3Ffoo%3Dbar%26user%3D6234。 &client_secret=MY_SECRET &コード=RECEIVED_CODE
すべてのパラメータはURLエンコードされており、コードも有効であるように見えます。 私は
redirect_uri
を以下のすべてに設定してみましたが、役に立ちませんでした。
- 私のサイトへのリクエストの実際の URL
-
私のサイトへのリクエストの URL から
code
パラメータを除いたもの。 - 自分のFacebookアプリケーションの設定で指定したURL
カスタムのリダイレクト URI パラメータはサポートされていますか。 サポートされている場合、私はそれらを正しく指定していますか? そうでない場合、Cookie を設定することを余儀なくされるか、または、Web サイトにコンテキストを供給するためのより良いパターンがあるのでしょうか?
どのように解決するのですか?
答えはわかりました。リダイレクト URL に追加のパラメータを追加するのではなく、リダイレクト URL に
state
パラメータをリクエストに追加して
https://www.facebook.com/dialog/oauth
:
https://www.facebook.com/dialog/oauth ?クライアントID=MY_CLIENT_ID &scope=MY_SCOPE(マイスコープ &redirect_uri=http%3A%2F%2Fwww.mysite.com%2Foauth_callback%3Ffoo%3Dbar。 &状態=6234
このstateパラメータは、コールバックURLに渡されます。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン