2016-06-14 1 views
2

여기 웹 앱에 FB 로그인을 구현하고 있습니다. www.glifft.com 리디렉션 권한을 얻을 수없는 것 같습니다. 로그인 후 리디렉션은 https://www.glifft.com/myglifft이어야합니다. 나는이 URL을 생성하기 위해 Jinja2 템플릿의 Flask에서 url_for() 함수를 사용하고 있습니다. 하지만 https를 앞세워 생성 할 수는 없습니다. 항상 http로 생성됩니다.Jinja2 플라스크 템플릿에서 PREFERRED_URL_SCHEME이 작동하지 않는 것 같습니다.

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에 해결 유지 :

여기 내 자바 스크립트입니다. 내 설정에서 나는

PREFERRED_URL_SCHEME = 'https' 

이 비록 내가 크롬에서 얻을 오류는 이것이다 :이 작동합니다 것 같다

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 플래그가 작동하지 않는 이유는 무엇입니까 ????

답변

3

PREFERRED_URL_SCHEME은 나에게도 버그가있는 것 같습니다. url_for 호출이 거의없는 경우 _scheme = 'https'전달을 고려할 수 있습니다. 당신이보기 기능에있는 경우, 항상 여기 request.url

를 사용합니다, 요청 문맥 안에없는 PREFERRED_URL_SCHEME에만 경우에 따라서, 라인은

location.href = "{{ url_for('myglifft', _external=True, _scheme='https') }}"; 
관련 문제