2016-06-14 2 views
2

私のwebappにFBログインを実装していますここでwww.glifft.comをリダイレクトすることはできません。ログイン後のリダイレクトはhttps://www.glifft.com/myglifftにする必要があります。私はこのURLを生成するために、Jinja2テンプレートのFlaskでurl_for()関数を使用しています。しかし、私は前にhttpsで生成することはできません。常にhttpとして生成されます。PREFERRED_URL_SCHEMEがJinja2フラスコテンプレートで動作しないようです

function getuserDetails(accessToken) { 
    FB.api('/me',{ locale: 'en_US', fields: 'name, email' }, function(response) { 
     $.ajax({ 
      url: "/register", 
      type: "POST", 
      data: { 
        name: response.name, 
        email: response.email, 
        login_provider : "Facebook", 
        access_token: accessToken 
       }, 

       success: function(response) { 
        location.href = "{{ url_for('myglifft', _external=True) }}"; 
        console.log(location.href) 
       }, 
       error: function(response) { 
        alert("Please check your facebook privacy settings."); 
        console.log(response) 
       } 
     }); 
    }); 

LOCATION.HREF機能がhttp://www.glifft.comに解決し続ける:

は、ここに私はJavaScriptです。これは動作するはずのように思え

Chrome Console Error

Mixed Content: The page at 'https://www.glifft.com/login' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://www.glifft.com/myglifft'. This request has been blocked; the content must be served over HTTPS. 

:私の設定では、私は

PREFERRED_URL_SCHEME = 'https' 

を持っているにもかかわらず、私はクロームで取得エラーは、このです。 PREFERRED_URL_SCHEMEフラグが機能しないのはなぜですか?

答えて

3

PREFERRED_URL_SCHEMEは私にとってもバグのようです。 url_for呼び出しが非常に少ない場合、_scheme = 'https'を渡すことが考えられます。あなたはビュー関数であるならば、それはいつもここrequest.url

を使用しますが、リクエストコンテキスト内ではありませんPREFERRED_URL_SCHEMEのみのであれば、ラインは、

location.href = "{{ url_for('myglifft', _external=True, _scheme='https') }}"; 
関連する問題