Janosch 237: Facebook Logout Button

Hallo wie der Titel schon sagt bin ich am versuchen auf meine (simple html seite mit css) einen Logout Button zu integrieren der die User aus Facebook wieder ausloggt.

Kurzer Ablauf der Webseite:

Facebook Login -> Liken -> Facebook Logout

Ich habe es mit einer App die über facebook läuft hinbekommen jedoch müssen die User wenn sie etwas Liken erst die Facebook App bestätigen (Rechte) wo wir beim Problem sind. Es verunsichert viele Nutzer etwas zu bestätigen auserhalb von Facebook, deshalb suche ich nach einer lösung ohne das ganze über eine app laufen zu lassen.

Wäre super falls hier einer ne Lösung hat

  1. Hallo,

    wie der Titel schon sagt bin ich am versuchen auf meine (simple html seite mit css) einen Logout Button zu integrieren der die User aus Facebook wieder ausloggt.

    Das ist nicht möglich. Facebook bietet so etwas nicht an. Wenn das möglich wäre, wäre es ein potenzielles Sicherheitsrisiko.

    Ich habe es mit einer App die über facebook läuft hinbekommen jedoch müssen die User wenn sie etwas Liken erst die Facebook App bestätigen (Rechte) wo wir beim Problem sind. Es verunsichert viele Nutzer etwas zu bestätigen auserhalb von Facebook, deshalb suche ich nach einer lösung ohne das ganze über eine app laufen zu lassen.

    Wieso außerhalb von Facebook? Eine Facebook-App muss autorisiert werden, ja. Das passiert soweit ich weiß immer auf facebook.com, nicht auf der Seite der App. Zu der wird nach der Autorisierung weitergeleitet.

    Kurzer Ablauf der Webseite:
    Facebook Login -> Liken -> Facebook Logout

    Für das Liken einer Seite musst du keine App anlegen, sondern einfach den Like-Button einbinden. Klickt ein nicht bei Facebook eingeloggter Nutzer darauf, wird er zum Login in einem Popup aufgefordert. Wenn der Login abgeschlossen ist, wird der Like gezählt und der Nutzer er eingeloggt. Das passiert automatisch ohne deinen Einfluss. Ein Logout danach lässt sich nicht auslösen.

    Mathias

    1. Morgen!

      Für das Liken einer Seite musst du keine App anlegen, sondern einfach den Like-Button einbinden.

      Oder du nimmst die 2-Klick-Lösung von heise.de. Ist etwas datenschutzfreundlicher und bringt gleich einen ganzen Haufen Buttons mit.

      Gruß,

      Marc

      1. Zum Bequemen auffinden der 2-Klick-Lösung auf heise.de

        Gruß,
         Marc, der einen Link vergessen hat

    2. Hi,

      wie der Titel schon sagt bin ich am versuchen auf meine (simple html seite mit css) einen Logout Button zu integrieren der die User aus Facebook wieder ausloggt.

      Das ist nicht möglich. Facebook bietet so etwas nicht an. Wenn das möglich wäre, wäre es ein potenzielles Sicherheitsrisiko.

      Nicht ohne App, nein.

      Wenn man eine App zum Login auf einer Webseite nutzt, ist man per Platform Policies aber sogar verpflichtet, einen Logout-Button anzubieten, der den Nutzer aus der App *und* facebook.com ausloggt.
      Der Logout funktioniert nur mit einem gültigen user access token, damit nicht jede Webseite die ich ansurfe mich mal so eben mir nichts dir nichts aus Facebook ausloggen kann.

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      1. Hallo,

        Wenn man eine App zum Login auf einer Webseite nutzt, ist man per Platform Policies aber sogar verpflichtet, einen Logout-Button anzubieten, der den Nutzer aus der App *und* facebook.com ausloggt.

        Mir ist FB.logout als Gegenstück zu FB.login bekannt, die einem zur Verfügung stehen, wenn man Facebooks all.js lädt. Beide kann man natürlich als Event-Handler auf einen eigenen Button legen. Das meintest du wahrscheinlich, oder gibt es da noch einen anderen Mechanismus?

        Mathias

        1. Hi,

          Mir ist FB.logout als Gegenstück zu FB.login bekannt, die einem zur Verfügung stehen, wenn man Facebooks all.js lädt. Beide kann man natürlich als Event-Handler auf einen eigenen Button legen. Das meintest du wahrscheinlich, oder gibt es da noch einen anderen Mechanismus?

          Es gibt im serverseitigen Flow auch einen Logout-URL.

          Das PHP-SDK bietet die Methode getLogoutUrl an, um diesen zu erzeugen – wenn man sich den Code der Methode anschaut, kann man sich den URL natürlich auch selber zusammenbasteln; einen gültigen user access token braucht man aber wie gesagt auf jeden Fall.

          MfG ChrisB

          --
          RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      2. Hallo,

        Moment, jetzt muss ich meine Aussage doch revidieren. Es ist schon etwas her, dass ich mit Facebooks JavaScript gearbeitet habe. Wenn ich einen Like-Button habe, dann kann ich auf den Event edge.create hören. »Edge« ist in der Graph-Datenbank von Facebook jede Kante zwischen zwei Knoten. Ein Like ist eine Kante zwischen dem Nutzerknoten und dem Knoten, der die Website repräsentiert. Der Event wird gefeuert, sobald der Like-Button gedrückt wird. Also könnte ich im Event-Handler einfach FB.logout() aufrufen. Natürlich mit den vor dir genannten Einschränkungen (Facebook Connect wurde durchgeführt, gültiger Access-Token vorhanden). Aber prinzipiell möglich sollte das sein. Ob in dem Moment der Logout auch durchgeführt wird, müsste man prüfen.

        Mathias

        1. Hi,

          Also könnte ich im Event-Handler einfach FB.logout() aufrufen. Natürlich mit den vor dir genannten Einschränkungen (Facebook Connect wurde durchgeführt, gültiger Access-Token vorhanden).

          Ja, aber den Connect braucht es halt unbedingt; ohne gültigen user access token ist kein Logout möglich. Und das automatisch getriggerte Einloggen beim Klick auf den Like-Button ist halt noch kein App-Login, sondern „nur” der Login bei Facebook – und damit alleine hast du halt noch keinen user access token.

          MfG ChrisB

          --
          RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?