Verwenden von OpenID zum Anmelden bei mehreren Domänen: Ist dieser Plan machbar? [geschlossen]

8

Zum Beispiel:

  • Wir betreiben zwei Community-Sites auf zwei Domains (nennen Sie sie example.comund example.net).
  • Wir möchten das später auf weitere Domains ausweiten können.
  • Wir möchten mehrere Arten der Anmeldung zulassen (OpenID, Facebook, Twitter, Standardbenutzername / -kennwort).
  • Wir möchten, dass jemand, der an einer Site angemeldet ist, automatisch an der anderen Site angemeldet wird.

Mit anderen Worten, es ähnelt dem StackExchange-Netzwerk.

Würde dieser Plan in diesem Fall funktionieren?

  • Richten Sie example.comund example.net(und spätere Ergänzungen) als OpenID-vertrauende Parteien ein, die nur die OpenID-Anmeldung akzeptieren id.example.org.
  • Richten Sie beim ersten Besuch eine OpenID-Antwortanforderung ein example.comund example.netführen Sie sie aus. Wenn Sie angemeldet sind, werden id.example.orgSie sofort und automatisch bei der Site angemeldet, die Sie besuchen. Sie sollten ein Cookie setzen, wenn Sie nicht angemeldet sind, um sie bei jeder Seitenanforderung zu speichern.
  • Richten Sie id.example.orgals OpenID - Provider und Verbraucher. Es sollte auch Facebook und andere Identitätsanbieter konsumieren und den Standardzugriff auf Benutzername / Passwort ermöglichen. (Einem Konto können mehrere Anmeldemethoden zugeordnet werden.)
  • Ändern Sie beim Abmelden einfach die Authentifizierungstoken in der Datenbank. Der Benutzer hat weiterhin Cookies, diese sind jedoch bedeutungslos. Somit kann der Benutzer von allen Sites gleichzeitig abgemeldet werden. Es können mehrere Authentifizierungstoken gleichzeitig für einen Benutzer gespeichert werden (und sollten für jede Site unterschiedlich sein), sodass sich der Benutzer in einem Browser abmelden und dennoch in einem anderen angemeldet sein kann. Beim Abmelden wird immer für alle Websites abgemeldet.

Das einzige Problem, das ich mit dem oben genannten sehen kann, ist das folgende:

  • Jemand besucht example.com. Ein "nicht angemeldetes" Cookie wird gesetzt.
  • Zie geht dann weiter example.net. Das Gleiche gilt.
  • Zie meldet sich dann an und surft weiter example.net.
  • Zie kehrt dann zu zurück example.comund wird aufgrund des Cookies "nicht angemeldet" nicht überprüft id.example.orgund ist daher nicht angemeldet.
  • Sobald zie jedoch auf die Schaltfläche "Anmelden" klickt, wird zie angemeldet.

Ich denke nicht, dass dies ein großes Problem ist.

Insgesamt denke ich, dass es ein ziemlich gutes System ist. Ich möchte nur, dass es überprüft wird. Gibt es Probleme, die ich nicht vorhergesehen habe? Wäre es fehlerhaft oder langsam? StackExchange verwendet eine ganz andere Methode. Ich nehme an, sie haben einen guten Grund dafür?

TRiG
quelle
1
Wäre dies besser unter webmasters.stackexchange.com gefragt ?
Doug T.
Ich denke so viel für diese Idee! Ich hätte das wohl nicht vorschlagen sollen.
Doug T.

Antworten:

0

Movable Type verwendet eine sehr ähnliche Anmeldemethode wie die von Ihnen beschriebene. Ich persönlich habe nichts dagegen, aber es gibt Zeiten, in denen ich es einem Kunden präsentiere und er kann helfen, aber fragen: "Was genau ist hier los?"

Das Projekt, das mich im Hinblick auf die Erstellung eines kohärenten Anmeldesystems am meisten fasziniert hat, ist das Google Identity Toolkit . Die Benutzererfahrung ist genau richtig und die Leichtigkeit, mit der sie implementierbar zu sein scheint , ist sehr ansprechend.

Byrne Reese
quelle
1
Google-Eigenschaften, die nicht über google.comYouTube gehostet werden (z. B. YouTube), verwenden ebenfalls diese Art von Workflow. (Wenn ich YouTube besuche, mich bei GMail in meinem Google-Konto anmelde und dann zu YouTube zurückkehre, bleibe ich abgemeldet, bis ich auf "Anmelden"
klicke. Zu