DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   FB.logout() (http://www.devprotalk.com/showthread.php?t=10503)

nn.nn 08. 11. 2011. 09:09

Citat:

Originalno napisao Miroslav Ćurčić (Napišite 102742)
:confused:Ako mora tako onda bih ja brzo popizdeo na taj sajt.

Izgleda da FB policy (tačka 6) nameće da, ako hoćeš da izloguješ korisnika iz svoje aplikacije, moraš da ga izloguješ i sa FB-a. E, da, all your base are belong to us. ;)

@kickloop Da li si video ovo?

martinluter 08. 11. 2011. 11:12

Mozda je ovo neko resenje:

HTML kôd:

<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
 
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Connect JavaScript - jQuery Login Example</title>
  </head>
  <body>
    <h1>Connect JavaScript - jQuery Login Example</h1>
    <div>
      <button id="login">Login</button>
     
   
      <button id="disconnect">Disconnect</button>
    </div>
    <div id="user-info" style="display: none;"></div>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
      // initialize the library with the API key
      FB.init({ apiKey: 'API_KEY' });

      // fetch the status on load
    // FB.getLoginStatus(handleSessionResponse);

      $('#login').bind('click', function() {
        FB.login(handleSessionResponse);
      });

      $('#logout').bind('click', function() {
        FB.logout(handleSessionResponse);
     
      });

      $('#disconnect').bind('click', function() {
        FB.api({ method: 'Auth.revokeAuthorization' }, function(response) {
          clearDisplay();
        });
      });

      // no user, clear display
      function clearDisplay() {
        $('#user-info').hide('fast');
      }

      // handle a session response from any of the auth related calls
      function handleSessionResponse(response) {
        // if we dont have a session, just hide the user info
        if (!response.session) {
          clearDisplay();
         
          return;
        }

        // if we have a session, query for the user's profile picture and name
        FB.api(
          {
            method: 'fql.query',
            query: 'SELECT pic, name FROM profile WHERE id=' + FB.getSession().uid
          },
          function(response) {
            var user = response[0];
         
            $('#user-info').html('<img src="' + user.pic + '"><br>'  + user.id).show('fast');
          }
        );
      }
    </script>
  </body>
</html>


kickloop 08. 11. 2011. 14:06

Hvala svima na savetima i pomoći. FB forum, dokumentacija čak i razni primeri, tutoriali i ostalo što može da se izgugla ne vrede ništa jer FB toliko često menja sve da je jako teško ispratiti šta radi a šta ne, šta je aktuelno a šta ne.

Nekako sam rešio logout (koji korisnika izloguje i sa FB) ali postoji novi problem. U slučaju da se korisnik loguje na FB nakon toga pa se vrati na sajt automatski će biti ulogovan iako sam stavio "status: false". S.O.S. ako neko zna lek

Nemanja Avramović 09. 11. 2011. 17:56

Više puta sam naleteo na isti problem (bilo da koristim JS ili PHP SDK) i još uvek nisam našao rešenje :(

Jednostavno, FB.logout te izloguje sa FB-a, ali aplikacija (na fb) je i dalje povezana sa profilom, tako da, kad se uloguješ (na fb), aplikacija te re-autorizuje na sajtu i ponovo si ulogovan sa istim profilom... :/

Peca 09. 11. 2011. 18:10

eto, dodjoh i ja upravo do istog problema.
ni brisanje fbs_ cookie-a ne pomaze [isti se opet pojavi posle refresha, javascript ga set-uje].
jedino sto mi pada na pamet je da set-ujem dodatni cookie, nazovimo ga 'logged_out'... pa po tom cookie-u da znamo da je korisnik izlogovan...
a kad korisnik hoce opet da se uloguje - samo obrisemo taj 'logged_out' cookie [pa korisnik onda biva automatski logovan]....

centaur 09. 11. 2011. 20:39

^to je jedini nacin.

Peca 10. 11. 2011. 01:38

:/
tako sam na kraju i uradio... eno ga 'proof of concept' na mom sajtu za Igrice [link u potpisu].
fejk logout :)

mali trik je taj sto prvo proverim postoji li 'fbs_' cookie [to mi je orijentacija da znam da li je uopste ulogovan preko FB], a zatim proverim da li postoji 'logged_out' cookie.
ako oba postoje - smatram da je odlogovan - i uopste ne pokusavam da skinem podatke sa https://graph.facebook.com/me?access_token... [ne cimam im server badava]


Vreme je GMT +2. Trenutno vreme je 15:45.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.