Pluginname:
---------------------------------------------------------------------------
OpenID(-Login)
Status:
---------------------------------------------------------------------------
beta - das Plugin ist weitgehend fertig und getestet. Bis zu einer stabilen
Version wird es nur noch kleinere Änderungen / Bugfixes geben. Das
Plugin ist unter Vorbehalt produktiv einsetzbar.
Beschreibung:
---------------------------------------------------------------------------
OpenID(-Login) ermöglicht einen Frontend-Login über ein dezentrales System zur Identifizierung.
Das zugrundeliegende Protokoll wurde von Brad Fitzpatrick,
dem Gründer von LiveJournal, entwickelt. Die Idee ist, dass Benutzer,
welche ein Benutzerkonto bei einem OpenID-Server haben,
sich mit diesem auf beliebigen OpenID-unterstützten Webseiten anmelden zu können,
anstatt für jede Webseite ein eigenes Benutzerkonto und Passwort zu benötigen.
Dabei wird das Konzept der URL-basierten Identität umgesetzt.
OpenID ist ein Single-Sign-On-System, vergleichbar mit dem Liberty Alliance Project,
gewährleistet durch die Dezentralisierung
– jeder kann einen OpenID-Server betreiben
– jedoch nicht die Vertrauenswürdigkeit der Benutzer.
Mittlerweile wird OpenID neben Brad Fitzpatrick von SixApart Ltd.
auch von dem zu VeriSign gewechselten David Recordon weiterentwickelt
und wird meist zusammen mit Yadis oder XRIs verwendet.
Vergleichbare Systeme, die bei höherer Komplexität mehr Funktionen bieten
sind Shibboleth und Liberty, die beide auf der
Security Assertion Markup Language (SAML) aufbauen.
Vergleichbare 'Closed-Source' Systeme: Microsofts 'Passport/Life-Account' oder T-Online's 'Netzausweis'.
Dokumente
- http://openid.net/specs.bml
- http://de.wikipedia.org/wiki/OpenID
- http://en.wikipedia.org/wiki/OpenID
Quellen & Infos
- http://www.openidenabled.com
Services
- https://www.myopenid.com
Features:
---------------------------------------------------------------------------
OpenID(-Login) besteht aus zwei teilen, einem Plugin (OpenID)
und einem Modul (OpenID-Login). Das Plugin stellt die API und Backendbearbeitung,
das Modul implementiert den Frontend-Login. Dabei werden einige Features von SF
und der neuen API-Struktur genutzt. Das ganze ist eine art Machbarkeitsstudie.
- Multiclient
- inclusive Modul
Author:
---------------------------------------------------------------------------
- STam
Lizenz:
---------------------------------------------------------------------------
GPL Lizenz (Version 2) und kann im Rahmen dieser Bestimmungen frei heruntergeladen,
genutzt, modifiziert, sowie verteilt werden.
Benötigte Sefrengo Version:
---------------------------------------------------------------------------
Sefrengo 1.4 beta2 (V. 01.03.01)
Installation:
---------------------------------------------------------------------------
Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Administration -> Plugins".
Klicken Sie oben rechts auf "Plugin importieren". Am unteren Ende des Bereichs
befindet sich ein Uploadfeld. Wählen Sie hier die gewünschte "*.cmsplug"- Datei
aus. Mit einem Klick auf das Diskettensymbol wird das Plugin in das CMS importiert.
Das Plugin ist nun innerhalb des CMS nutzbar. Installieren Sie das Plugin mit einem
klick auf das Plugin-Importieren-Symbol in der Pluginzeile. Das Modul ist nach der
Installation sofort innerhalb des CMS nutzbar. Zum Stylen wird ein CSS-Style
'input.openid_login' mitgebracht, einfach in das vorhanden Stylesheet einbinden.
Hinweise:
---------------------------------------------------------------------------
Zum nutzen den OpenID-Logins braucht man eine OpenID-URL,
diese kann Beispielsweise bei https://www.myopenid.com angemeldet werden,
und muss dann im Backend unter 'Administration -> OpenID' einem Profil
zugewiesen werden.
Bekannte Bugs/ noch nicht fertige Bereiche:
---------------------------------------------------------------------------
- die Implementation der API kann nach Bugfixes in der SF-API leichter erfolgen.
- die Sprachstrings in 'plugins/OpenID/tpl/standard/lang/de/lang_general.php'
sind noch nicht Übersetzt.
- Fehler im Backend, beim wechsel zum Bereich 'Administration - OpenID-Benutzer bearbeiten'
verschwindet das Backend-Menü
- Es gibt nur eine Sprache: 'de/DE'
- Möglichkeit der Einweg-Registrierung ist deaktiviert
- Läuft nicht mit PHP5!
Dokumentation:
---------------------------------------------------------------------------
Keine vorhanden
hört sich interessant an. Ich habe aber eine Weile gebraucht, bis ich das dahinterstehende Prinzip verstanden habe
Ich hatte erst einmal darüber gelesen (ich glaube in der c't) und schwupps gibt es das als Modul für SF It's magic...
Hmm,
11 Downloads und keine weiteren Reaktionen?
Nun gut warten wir mal 1'ne Woche ab und bei zu wenig
Interesse stelle ich die Entwicklung wieder ein.
Kann ja als 'technical demo' bleiben
Gruß
Also ich brauche definitiv Zeit, um mich erst einmal mit den Möglichkeiten vertraut zu machen. Du "schmeißt" uns hier ein Plugin "um die Ohren" , das für mich vom Verständnis etwa der gleiche Quantensprung ist, wie Mail und GnuPGP. Also bitte Geduld, du bekommst schon (im neuen Jahr) ein Feedback von mir. Bitte nicht einstellen. OpenID ist bisher in der Webwelt noch nicht so gebräuchlich, aber das kommt sicher in den nächsten 1,5 Jahren.
Sehr interessanter Ansatz. Mir fehlt gerad nur die Zeit das anzutesten. Wenn ich das vor einem Monat gesehen hätte, wäre es vermutlich in einem aktuellen Projekt angetestet worden, aber da ist der Zug leider abgefahren.
Mir gefällt die Idee aber riesig. Vielleicht kann ich zwischen den Jahren mal damit spielen.
Ich finder der Ansatz auch sehr interessant. Den ich kann mir meine User/Passwörter einfach nicht mehr merken. Werde es über die Festtage einmal testen. Danke schon im Voraus!
Gruss
chris
(auch wenns net so dolle hier reinpasst): http://www.bugmenot.com/ - echt seeehr hilfreich
Gruß, Peter
für den ersten einstieg: http://simonwillison.net/2006/openid-screencast/
@MaZderMind
@alexander ... guter Beitrag!
Ansonsten frohe Weihnachten
Hi
Hmmm also wenn ich den Menüpunkt "OpenID" aufrufe bekomme ich nur ne Fehlermeldung:
*snüffsnüff* gute nase
Und leider funkt es nicht
Das Problem ist, das RequireClass auf jeden Fall auf die Existenz der Datei prüft (auch wenn die Datei bereits geladen wurde) und im Fehlerfall das erzeugen der Instanz verhindert.
Ich habe aus dem false ein true gemacht und musste dann noch folgende Klassen "vorladen" (ich habs in der OpenID_inc.php gemacht ): SF_DATABASE_Ado, SF_PAGE_Pageinfos, SF_PAGE_Catinfos, SF_UTILS_DbCache, SF_UTILS_ArrayIterator, SF_ASSETS_DbFile, SF_GUI_Pager.
Ich schätze dass du das "verbiegen" des API-Pfades mit die Implementation der API kann nach Bugfixes in der SF-API leichter erfolgen. meinst..
Obwohls bei mir nich auf anhieb funktioniert hat: Großartiges Plugin. Ich sag das aus zwei Sichtweisen - einmal dass OpenID großartig is und die Implementation in Sefrengo ein riesiger Schritt ist, zum anderen weil das Plugin in der Implementation vorbildlich ist. Ein eigener API-Zweig *staun*
Allerdings funkt das dann bis zum einbinden des Moduls, dann gibts wieder einen Fehler
Ich bastel nochn bisschen aber, aber insgeheim hoffe ich auf eine baldige erweiterung des APIs auf mehrere Quell-API-Pfade
Gruß, Peter
[edit] Fehlte noch die Klasse SF_ADMINISTRATION_User in der Liste, jetz gehts.
Hi
Soo jetz funktionierts also. Ich habe aber noch zwei Fragen:
1. Ich teste das Plugin in meiner DF-Sandbox von einem Loklen Server (s. Sig.) aus, welcher über eine Url wie http://sefrengo.<meinname>.homeip.net/ erreichen ist. Als Trust-Root wird aber http://sefrengo.<meinname>.homeip.net\ übergeben. Beim erlauben der URL gibt das dann einen Fehler. Ich vermute, dass es daran liegt dass ich ein Win-System habe und da ja ein anderer path_separator gesetzt ist (für lokale Systempfade). Wie der dann in die URL reingerutscht ist...
2. Wird es ein OpenID SignOn-Modul geben, mit dem ich mich quasi auf einer Seite die mich nicht kennt per OpenID anmelden kann und dann dort (evtl. nach aktivierung durch einen Admin) einen Account bekomme?
Gruß, Peter
Noch ein Hinweis am Rande (ich hab grad die openid-Events in SFLog eingebaut): openid_login_error übergibt immer eine leere 'openid_url', auch wenn ich mich mit einer nicht vorhandenen OpenID anmelde (und das Event geworfen wird).
Gruß, Peter
@MaZderMind,
auf so eine Diskussion freue ich mich schon seit wochen
Ja, du hast Recht mit der API, folgende kleine Patches habe ich bei Björn angemeldet:
Datei 'API/API/class.SF_API_ObjectStore.php' Zeile 49 muss lauten
Hi
Ich sehe wie schön es ist mit einem eignene API-Zweig zu arbeiten, allerdings wäre es schön wenn man nicht ständig den API-Pfad verbiegen müsste sondern einfach zwei Pfade definieren könnte (z.B. mit dem Classpath-Ansatz).
Zur "Spracheinbindung im SF Design" - ich finde die Spracheinbindung in SF nur teilweise gelungen. Warum sind z.B. die Sprchen unterhalb des Templates eingeordnet? Was macht denn das für einen Sinn? Ein Template soll doch die Oberfläche gestalten und hat an sich nix mit Sprachen zu tun.
Gruß, Peter
Das Problem bei file_exists() ist, das es nicht in den include_path schauen kann, require(once) und include(once) nutzen auch den include_path von PHP wenn die Datei zuerst nicht im PATH gefunden wird!
Nuja aber andersrum bekommst du wenn du ein @ vor dein include packst /garkeine/ Fehlermeldungen mehr aus der includierten Dateien also noch nichtmal Parse-Errors! Probiers aus
Dann machen wirs halt so:
... das ist der Sinn von dem @ den return bekommt man aber trotzdem.
Hi
Ich sah das so dass so dass das @ nur die Fehlermeldung bei einer nicht vorhandenen Datei verhindern und nicht alle Fehlermeldungen innrhalb der Klasse -- das halte ich nämlich nicht für Sinnvoll. Als Klassenentwickler bekommt man dann nämlich schnell ordentliche Probleme wenn z.B. alle Parse-Fehler unterdrückt werden.
Du sprachst ja davon einen Bugfix einreichen zu wollen, nur dass dein Fix das Problem halt nich behoben habt. Mein Vorschlag ist nun dieser:
Gibt es noch Anregungen, Wünsche oder weitere Bugs?
Ansonsten fange ich mit dem Final Paket an
Gruß
go final, go!
Hiho!
Hat das ganze schon wer im Einsatz?
Wie ist denn die Resonanz bei den Usern? Verstehen die was da abgeht, wenn Sie erstmal wo anders eine ID anlegen müssen, wird das aktzeptiert?
Tschüss
Tiggr (aka Marcus)
Hiho!
Mir ist nicht ganz klar, wie ich was ändern muß, damit es läuft, ich bekomme noch immer die Fehlermeldung:
Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)