1

私のホームページは、以下にリストされた URL にリダイレクトされ、Facebook との oauth ダイアログを開き、ユーザーの資格情報を検証します。

<meta http-equiv="refresh" content="0;URL=http://www.facebook.com/dialog/oauth/?client_id=myclientid&redirect_uri=http://www.mywebsite.com/home/index.php" />

Facebook アプリ プロファイルのサイト URL (Facebook ログインの Web サイト) は、

http://www.mywebsite.com

HTTP ではすべてがうまく機能しますが、最近 SSL 証明書を実装したとき、すべてを HTTPS に変換するのに苦労しました (リダイレクト URL で HTTP を HTTPS に変更し、Facebook アプリ プロファイルでサイト URL を変更しました。次の Facebook エラーが表示されます。

API エラー コード: 191 API エラーの説明: 指定された URL は、アプリケーションによって所有されていません エラー メッセージ: 無効な redirect_uri: 指定された URL はアプリケーション構成で許可されていません。

私は一度に数時間これと格闘しましたが、成功することはなく、常にリダイレクト URL とアプリ プロファイルのサイト URL を HTTP に戻しました。昨夜はうまくいきました!コードを公開し、IE と Chrome の両方で 2 台の別々のコンピューターで正常にテストしました。今朝起きたら、以前と同じエラー コードが表示されていました。

HTTPS に関して、Facebook の oauth ダイアログが気まぐれに見える理由を誰か知っている人はいますか?

4

2 に答える 2

0

これは、Facebook接続を使用したWebサイトの実例です。上部にコードを追加しました:

  1. ユーザーがまだ認証されているかどうかを検出し、認証されていない場合は...
  2. SSLが使用されているかどうかを検出する
  3. SSLが使用されている場合は、現在のページが(動的に取得されて)最初の変数に入力したURL(上部の設定では「$ sslurl」)が含まれていることを確認します。それ以外の場合は、デフォルトで$ sslurlに戻り、アクセスしていたページが最後に追加されます。
  4. 次に、正しいURLを使用して、
    生成されたSSLURLをredirect_uriとして使用するユーザーを承認します。
  5. スクリプトの残りの部分は、Facebook接続設定を備えた一般的なWebサイトです。

コードタグ内に配置するには長すぎるため、ここでテキストファイルに配置します。

http://oe.us/ssl-facebook-connect.txt

うまくいけば、それが役立つことを願っています、頑張ってください!

于 2012-09-14T20:03:08.437 に答える
0

アプリの設定で有効なベース ドメインが指定されていることを確認してください。

于 2012-09-15T02:43:49.187 に答える