Ich verwende das Modul OAuth Connector , um einen Benutzer von einer externen Quelle zu authentifizieren. Jeder Benutzer der externen Quelle hat ein entsprechendes Drupal-Benutzerkonto.
Nach erfolgreicher Authentifizierung des Eides ist der Benutzer programmatisch mit einem passenden Drupal Benutzerkonto mit user_authenticate
und user_login_finalize
angemeldet.
Wenn sich der Benutzer drupal abmeldet, möchte ich den OAuth-Zugriff programmatisch in user_logout
widerrufen.
Aber ich konnte in keiner der OAuth-Klassen eine Methode zum Abmelden / Widerrufen / Zerstören / Ungültigmachen finden.
Wie kann man einen authentifizierten OAuth-Benutzer in Drupal 7 programmgesteuert abmelden?
P.S. Ich kenne das System, das ich oben erwähnt habe, ist sehr unbequem und es gibt viele bessere Möglichkeiten, Benutzerkonten zwischen Sites zu teilen, aber meine Frage beschränkt sich darauf, wie man sich im Drupal 7 OAuth Connector Modul abmelden kann. p>
BEARBEITEN: Wenn ich die gespeicherten OAuth-Token lösche, ist das ähnlich wie beim Abmelden? Kann jemand mehr darüber erfahren, was alle Daten im OAuth-Modul gespeichert haben und wie man es löscht, wenn es keine direkte Abmeldeoption gibt.
Wenn ich Ihre Frage richtig verstanden habe, können Sie einfach user_logout()
aufrufen, um einen authentifizierten Benutzer programmgesteuert abzumelden.
Dies ist möglich, weil das Modul Connector (auf dem OAuth Connector basiert) enthält hook_user_logout()
, um den Abmeldeaufruf an den OAuth-Provider weiterzuleiten.
Hoffentlich beantwortet das Ihre Frage?
Hinweis: Gibt es einen bestimmten Grund, warum Sie nicht das bekanntere (und stabilere) Modul OAuth verwenden?
Tags und Links php oauth drupal drupal-7 drupal-modules