2013-04-19 6 views
11

Mam zintegrowany Facebook z moją aplikacją do publikowania treści. To działało do wersji 1.2 aplikacji, ale teraz otrzymuję ostrzeżenie o bezpieczeństwie tuż po zalogowaniu jako poniżej.Facebook ostrzega o zabezpieczeniach: Proszę traktować powyższy URL jak swoje hasło i nie udostępniać go nikomu.

Dziwne w tym ostrzeżeniu dotyczącym bezpieczeństwa jest to, że działa on na jednym z moich kont Facebooka bez ostrzeżenia, jak poprzednio, ale otrzymuję to ostrzeżenie na innym koncie. I został dołączony zrzut ekranu o numerze:

enter image description here

+0

Sprawdź moją odpowiedź na ten link. może to rozwiąże problem. http://stackoverflow.com/questions/16033462/security-warningplease-treat-the-url-above-as-you-would-your-password-and-do-n/16192846#16192846 – Zac24

Odpowiedz

1

Po długim czasie spędzają w Internecie, aby szukać tego problemu. W końcu dostałem odpowiedź na ten temat.

Logowanie do Facebooka konta> Idź do Setting Prywatność> Kliknij na tagu Bezpieczeństwa na lewej stronie strony> następnie Wyłącz Bezpieczne przeglądanie

Zresetowaliśmy symulator i, a następnie uruchomić aplikację i ponownie zaloguj się, będzie działać na pewno

+0

próbował nie działać, co robić ? ten sam błąd –

+0

pracował dla mnie. Dobra robota. –

3

Wyłączenie bezpiecznego przeglądania nie jest warte, ponieważ nie możemy zmusić wszystkich użytkowników do wyłączenia bezpiecznego przeglądania.

Rozwiązałem. Sprawdź moją odpowiedź tutaj. Escape from Facebook security Warning

0

Krótka odpowiedź brzmi, że problem można rozwiązać, jeśli używasz własnego redirect_uri zamiast standardowego facebooka. Kiedy zwracany jest token dostępu, standardowa strona www.facebook.com/connect/login_success.html ma licznik czasu, który zmieni adres URL, prawdopodobnie zanim aplikacja będzie mogła odzyskać token dostępu.

Ten problem może występować w związku z opóźnieniami w Internecie. Mieliśmy dwóch klientów zgłaszających problemy z tym w Birmie i jednym w Wielkiej Brytanii. Żadnych problemów dla nikogo innego. Zakładając, że są zezwalająca tak:

https://www.facebook.com/v2.10/dialog/oauth?client_id=999999999999999&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token&scope=user_photos,user_events&display=popup 

dla domyślnego redirect_uri (https://www.facebook.com/connect/login_success.html), facebook zwraca access_token w parametrach URL, ale ciało html na tej stronie znajdują się dwa liczniki:

Success <br/> 
<b id="warning" style="display: none; color:red"> 
    SECURITY WARNING: Please treat the URL above as you would your password and do not share it with anyone. 
    See the <a href="http://l.facebook.com/l.php?u=xxxxxxx" target="_blank" data-lynx-mode="hover">Facebook Help Center</a> for more information. 
</b> 
<script type="text/javascript"> 
    document.domain = 'facebook.com'; 
    if (window == top) { 
     setTimeout(function() { document.getElementById("warning").style.display = "block"; }, 2000); 
    } 
    setTimeout(function() { if (window.history.replaceState) { window.history.replaceState({}, "", "\/connect\/blank.html#_=_"); } }, 2000); 
</script> 

Po uruchomieniu timera zmieni się adres URL, który usuwa hasło access_token. Tak długo, jak to łapiesz, zanim to się zmieni, wszystko działa. W naszym przypadku używaliśmy wbudowanej kontroli przeglądarki w systemie Windows i monitorowaliśmy nawigowane linki. Dopóki kod może otrzymać zdarzenie nawigacyjne zawierające tag access_token przed upływem tego limitu czasu, wszystko działało. Nigdy nie byliśmy w stanie określić, w jaki sposób opóźnienie połączenia internetowego i być może jakaś kombinacja powolnego komputera użytkownika spowodowała ten problem, ale to rozwiązało.

W ustawieniach Facebook Login dla aplikacji Facebook dodaj własne identyfikatory URI do listy prawidłowych identyfikatorów URI przekierowania OAuth. Jeśli przekierujesz się na własną stronę html, możesz uniknąć przekroczenia limitu czasu na Facebooku.

Powiązane problemy