Wir stellen heute Portier vor. Portier ist freie Infrastruktur für das Web. Es ist ein Loginsystem, das Seiten benutzen können, um Nutzern die Möglichkeit zu geben sich per Email anzumelden. Der Kniff dabei ist, dass die Seite keinerlei Passwort speichern muss.
Das folgende ist einfach zu verstehen, wenn du vorher die Demo ausprobierst.
Portier funktioniert so: Auf der Webseite, in die man sich einloggen will, ist ein Loginformular, das nach der Emailadresse fragt. Der Nutzer gibt seine Adresse ein und schickt das Formular ab. Es wird zu Portier geschickt, dessen Aufgabe dann ist diese Emailadresse zu authentifizieren. Er prüft ob der Nutzer die Emailadresse wirklich kontrolliert. Dafür hat Portier zwei Möglichkeiten:
- Er kann eine Email mit einem Bestätigungslink zurück zu Portier an die Adresse schicken.
- Alternativ wird die OpenID-Authentifizierung des Email-Providers genutzt, also bei den meisten Google Sign-In. Das ist komfortabler, da komplett im Browser.
Weiß Portier dann, dass die Emailadresse wirklich dem Nutzer gehört, schickt er an die Seite eine signierte Bestätigung und leitet den Nutzer zurück. Die Seite kann den Nutzer dann einloggen.
Portier und Mozillas Persona
So etwas ähnliches gab es schonmal, es war ein Projekt von Mozilla. Es hieß anfangs Browserid, später war das dann nur noch der Name des verwendeten Protokolls und das Projekt wurde zu Persona umgetauft. Das war hochproblematisch, denn Persona war bereits der Name von diesen Firefox-Themes. Persona hatte noch mehr Probleme: Es war nicht einfach Infrastruktur, sondern sein eigenes Produkt, das Bekanntheit erlangen sollte und das größer war als ein einfacher Email-Bestätiger. Beispielsweise mussten Nutzer sich beim ersten Login auf der Persona-Seite einloggen und dafür ein Passwort wählen, und es konnte nur funktionieren, wenn Nutzer den Persona-Button einordnen konnten. In einem Nutzertest von mir hat keiner der Testpersonen den dafür nötigen Wechsel zwischen Browser, Emailprogramm und Tabs samt anschließendem Zurückwechseln zur Zielseite hinbekommen.
Das alles will Portier besser machen, wobei klar ist: Persona war eine in meinen Augen großartige Idee. Das Portier-Projekt ist ein Versuch, diese Idee weiterleben zu lassen und die Fehler, die Persona gemacht hat, nicht zu wiederholen.
Portier versucht nicht, ein Single-Sign-On-System zu sein, also dass ein Nutzer automatisch auf jeder Portier-nutzenden Seite eingeloggt sind, nur weil er auf einer einzelnen Seite sich mit Portier einloggte. Es gibt schlicht keine zentrale Instanz, in die der Nutzer sich einloggen muss. Es gibt nur den Portier-Broker, der keine Nutzerdaten speichert und von dem es viele verschiedene Installationen geben kann. Wir werden eine Instanz hosten (auf https://broker.portier.io/), aber theoretisch kann jede Seite seinen eigenen Broker haben. Auch praktisch werden wir versuchen das möglichst einfach zu machen – der Code ist überschaubar, das Protokoll möglichst simpel und nutzt mit OpenID existierende Standard, und mit der verwendeten Programmiersprache Rust können Binaries bereitgestellt werden.
Persona wird Ende November abgeschaltet. Es erreichte nicht die Bekanntheit, die Mozilla sich erhofft hatte. Portier eignet sich als Alternative, z.B. mein sinatra-portier-Gem kann direkt sinatra-browserid ersetzen, ohne dass groß der Code angepasst werden muss.
Das Portier-Projekt
Portier ist kein Mozilla-Projekt. Nach der Ankündigung der Abschaltung haben sich einfach ein paar Entwickler zusammengetan, um eine Alternative zu schaffen. Nach einer durchaus langen Planungsphase ist daraus Portier entstanden, das jetzt einsatzbereit wird. Es gibt noch viel zu tun (es gibt eine Roadmap): Arbeit am Broker, Verbessern der Dokumentation auf der Webseite, und generell das Bauen von Modulen für Webframeworks, um die Integration möglichst einfach zu machen. Da können wir Hilfe brauchen. Aber schon jetzt funktioniert Portier und kann allen Webentwicklern helfen, die Persona ersetzen müssen, oder die so etwas wie Persona nur als aktives Projekt haben wollen.
Netz - Rettung - Recht am : Wellenreiten 10/2016
Vorschau anzeigen