Ich habe eine Node Bluemix-Anwendung mit dem SSO-Dienst & konfiguriert, der mit einem Cloud-Verzeichnis verbunden ist. Ich kann den Benutzer erfolgreich authentifizieren, aber ich habe Probleme, eine erfolgreiche Abmeldung durchzuführen. Ich habe req.session.destroy, req.logout und express-pass-logout-Modul versucht, um die Sitzung zu beenden. Aber keiner von ihnen hat funktioniert. Ich habe auch versucht, Cookies von meiner Anwendung zu entfernen, aber es hat nicht so gut funktioniert. Die einzige Möglichkeit ist, den Browser neu zu starten oder Cookies vom Browser zu löschen. Weiß jemand, wie man eine SSO-Abmeldung von der Anwendung erreicht?Abmelden vom SSO-Dienst auf bluemix
Antwort
Das letzte Mal, als ich den Dienst nutzte, war dies nicht möglich. Das Problem ist: Was Sie mit den aufgeführten Befehlen tun, ist das Schließen Ihrer Anwendungssitzung, nicht die des SSO-Dienstes. Wenn der Benutzer also zurückkommt (mit dem gleichen Cookie), fordert die Anwendung den SSO-Dienst zur Überprüfung auf und akzeptiert den Benutzer (da die Sitzung noch offen ist). Derzeit ist keine API verfügbar, um die Sitzung in der SSO-Dienstinstanz zu schließen.
Tatsächlich wird dies bei Verwendung von externem IdP komplexer: Selbst wenn Sie die Sitzung auf dem SSO-Server schließen, wird der Browser immer noch eine Sitzung mit dem echten IdP haben, von dem der Benutzer sich angemeldet hat Ihre Dienstinstanz kann eine oder mehrere von IBM, Facebook, Google, Linkedin sein. Einige dieser IdPs bieten langlebige Sitzungen über dauerhafte Cookies und Ihre Anwendung kann die Beendigung nicht auf ihrer Seite erzwingen. Das bedeutet, dass beim nächsten Klick auf die Schaltfläche "Anmelden", insbesondere wenn die SSO-Dienstinstanz für die Verwendung nur eines IdP konfiguriert ist, SSO nahtlos ohne weitere Interaktion stattfindet.
Werfen Sie einen Blick here, um weitere Informationen zu erhalten.
Wie Umberto sagt, vielleicht war es bisher nicht möglich, aber jetzt scheint es zu sein: this
prüfen. Sie können Ihren Benutzer umleiten:
/idaas/mtfim/sps/idaas/logout
Zumindest scheint dies zu funktionieren, wenn Sie nur Cloud Directory verwenden.