• 下記トピックにある同症状なのですが、再度記載させて頂きます。
    プラグイン”Gianism”でFacebookとTwitterでのログイン機能を実装中です。

    Twitterログインは正常動作しますが、Facebookログインだけ下記エラーとなります。
    「URLを読み込めません: このURLのドメインはアプリのドメインに含まれていません。このURLを読み込むには、アプリ設定のアプリドメインにすべてのドメインとサブドメインを追加してください。」

    Facebookデベロッパーでの設定がダメなのかと思い、新規アカウント作製し試みましたが同じエラーでした。
    Facebookのアプリページで登録しているリダイレクトURLは https://XXXX.com/となっており、様々なパターンも試してみました。

    同じくさくらのレンタルサーバ プレミアム、SSLの種類はSNIとなっています。
    トピックなどを参考させて頂き、
    htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
    RewriteRule ^(.*)$ https://XXXX.com/$1 [R=301,L]
    </IfModule>

    wp-config

    // プロクシでIPが入るとSSLアクセス状態をセットする
    if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
        $_SERVER['HTTPS'] = 'on';
        $_ENV['HTTPS'] = 'on';
        $_SERVER['HTTP_HOST'] = 'XXXX.com';
        $_SERVER['SERVER_NAME'] = 'XXXX.com';
        $_ENV['HTTP_HOST'] = 'XXXX.com';
        $_ENV['SERVER_NAME'] = 'XXXX.com';
    }
    if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
        // 上記の変数が渡ってきている場合はSSL通信なので、サーバー変数を書き換える
        $_SERVER['PORT'] = '443';
        $_SERVER['HTTPS'] = 1;
    }

    ポート番号の設定で自己解決したとありますが、これ以上どうすればよいか分かりません。
    ご教授頂けますでしょうか。よろしくお願いいたします。

    The page I need help with: [log in to see the link]

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author Takahashi Fumiki

    (@takahashi_fumiki)

    @terumode

    if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
             $_SERVER['PORT'] = '443';
             $_SERVER['HTTPS'] = 1;
             define( 'WP_HOME','https://example.com' );
             define( 'WP_SITEURL','https://example.com' );
    }
    

    こんなんでいけませんかね? どうでしょう。

    Thread Starter terumode

    (@terumode)

    早速のご返答ありがとうございます。試してみましたが同じエラーでした???
    やはりさくらSSLのリバースプロキシあたりが原因なのでしょうか???
    続けて試行錯誤開始します。
    何かございましたらご教授頂けますと幸いです。よろしくお願いいたします。

    Plugin Author Takahashi Fumiki

    (@takahashi_fumiki)

    @terumode

    リバースプロクシというのがなんなのかわからないのですが、X_SAKURA_FORWARDED_FOR というのはSNIの機能なんですか? 私はレンタルサーバーのSNIしか使ったことがないのですが、その場合は HTTP_X_FORWARDED_PROTO だけ見ていればことたりました。

    // プロクシでIPが入るとSSLアクセス状態をセットする
    if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
        $_SERVER['HTTPS'] = 'on';
        $_ENV['HTTPS'] = 'on';
        $_SERVER['HTTP_HOST'] = 'XXXX.com';
        $_SERVER['SERVER_NAME'] = 'XXXX.com';
        $_ENV['HTTP_HOST'] = 'XXXX.com';
        $_ENV['SERVER_NAME'] = 'XXXX.com';
    }
    

    ここを

    // プロクシでIPが入るとSSLアクセス状態をセットする
    if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
        $_SERVER['HTTPS'] = 1;
        $_ENV['HTTPS'] = 'on';
        $_SERVER['PORT'] = '443';
        $_SERVER['HTTP_HOST'] = 'XXXX.com';
        $_SERVER['SERVER_NAME'] = 'XXXX.com';
        $_ENV['HTTP_HOST'] = 'XXXX.com';
        $_ENV['SERVER_NAME'] = 'XXXX.com';
        define( 'WP_HOME','https://example.com' );
        define( 'WP_SITEURL','https://example.com' );
    }
    

    こうするとどうでしょう。

    もしくは、Facebookのここが入力されていないとかですかね。
    https://www.evernote.com/l/ACxD_LwdYihN5LpqHXLOdS9YOeTDAh13R9kB/image.png

    Thread Starter terumode

    (@terumode)

    @takahashi_fumiki

    ご丁寧に回答いただき本当にありがとうございます。
    さくらのレンタルサーバのHTTPS接続の仕様については以下に分かりやすく書いてあります。
    https://qiita.com/tabimoba/items/64ef60412abe7ad6f0ac

    以下の通り試みましたが、同じエラーでした??
    WP_HOME,SITEURLは、ドメイン直下ではないので下記の通りです。

    // プロクシでIPが入るとSSLアクセス状態をセットする
    if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
        $_SERVER['HTTPS'] = 1;
        $_ENV['HTTPS'] = 'on';
        $_SERVER['PORT'] = '443';
        $_SERVER['HTTP_HOST'] = 'XXXX.com';
        $_SERVER['SERVER_NAME'] = 'XXXX.com';
        $_ENV['HTTP_HOST'] = 'XXXX.com';
        $_ENV['SERVER_NAME'] = 'XXXX.com';
        define( 'WP_HOME','https://example.com/hoge/' );
        define( 'WP_SITEURL','https://example.com/hoge/' );
    }

    Facebookにつきましては下記の通りです。
    アプリドメイン:example.com
    サイトURL:https://example.com/hoge/

    引き続き試行錯誤がんばります!何か情報ありましたら幸いです。
    よろしくお願いいたします。

    Thread Starter terumode

    (@terumode)

    分かりやすく修正

    // プロクシでIPが入るとSSLアクセス状態をセットする
    if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
        $_SERVER['HTTPS'] = 1;
        $_ENV['HTTPS'] = 'on';
        $_SERVER['PORT'] = '443';
        $_SERVER['HTTP_HOST'] = 'example.com';
        $_SERVER['SERVER_NAME'] = 'example.com';
        $_ENV['HTTP_HOST'] = 'example.com';
        $_ENV['SERVER_NAME'] = 'example.com';
        define( 'WP_HOME','https://example.com/hoge/' );
        define( 'WP_SITEURL','https://example.com/hoge/' );
    }
    Thread Starter terumode

    (@terumode)

    追記

    Facebook Login と言うプラグインにてログインが確認できましたので、Facebook設定、SSLは問題ないかと思います。
    引き続き試行錯誤がんばります!何か情報ありましたら幸いです。
    よろしくお願いいたします。

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘再度httpsの時だけFacebookでログインエラー’ is closed to new replies.