2008-08-26 4 views
12

Ich möchte mich mit OpenID bei Stack Overflow anmelden, aber ich dachte, ich würde meinen eigenen OpenID-Provider einrichten, nur weil es schwieriger ist :) Wie machst du das in Ubuntu?Wie richte ich einen OpenID-Provider (Server) in Ubuntu ein?

Edit: Ersetzen "Server" mit dem richtigen Begriff OpenID-Anbieter (Identity-Provider wäre auch korrekt nach wikipedia).

+5

Diese Frage ist jetzt ernsthaft veraltet. Die beiden damals beliebtesten Anbieter (phpMyID und Community-ID) werden nicht mehr weiterentwickelt. Chi.mp war bisher nicht verfügbar. Die Zertifikatsauthentifizierung von myOpenID ist seit über einem Jahr nicht mehr verfügbar. Gibt es einen Weg, ... eine Frage oder etwas "neu zu beleben"? – Ehtyar

+0

Gute Frage. Dein Kommentar ist ein guter Ausgangspunkt, um die Leute wissen zu lassen, dass sie zumindest veraltet sind. Vielleicht könnten Sie auf http://meta.stackoverflow.com fragen? –

Antwort

5

Ich persönlich phpMyID nur für StackOverflow verwendet. Es ist ein einfaches PHP-Skript mit zwei Dateien, das irgendwo auf eine Subdomain gesetzt werden kann. Natürlich ist es nicht so einfach wie die Installation eines .deb, aber da OpenID vollständig auf HTTP angewiesen ist, bin ich mir nicht sicher, dass es ratsam ist, einen eigenständigen Server zu installieren ...

7

Ich habe das tatsächlich getan (set up meinen eigenen Server mit phpMyID). Es ist sehr einfach und funktioniert ganz gut. Eine Sache, die mich bis zum Ende ärgert, ist die Verwendung von HTML-Weiterleitungen anstelle von HTTP. Ich habe das manuell geändert, basierend auf einigen Informationen in der phpMyID forum erhalten.

Allerdings habe ich in der Zwischenzeit auf myOpenId gewechselt. Rolling einen eigenen Anbieter ist Spaß und Spiele, aber es ist einfach nicht sicher! Es gibt zwei Probleme:

  • Allgemeiner müssen Sie auf Glauben handeln. phpMyID ist großartig, aber es ist in der Freizeit von jemandem entwickelt. Es könnte viele unentdeckte Sicherheitslücken geben - und es gab in der Vergangenheit einige. Das gilt natürlich für alle sicherheitsrelevanten Programme, aber ich glaube, dass das Problem mit der in der Freizeit entwickelten Software potentiell schwerwiegender ist, zumal der Code meines Erachtens bei weitem nicht perfekt ist.
  • Zweitens ist OpenID sehr anfällig für Screen Scraping und Mock-Schnittstellen. Es ist einfach zu leicht für einen Angreifer, die phpMyID-Schnittstelle zu emulieren, um Ihre Anmeldeinformationen für eine andere Site zu erhalten. myOpenId bietet zwei sehr wichtige Lösungen für das Problem.
    • Die erste ist die Verwendung eines gespeicherten Cookie-Bildes, das in die Anmeldeseite eingebettet ist. Wenn jemand die myOpenId Login-Seite screen-scaped, wird dieses Bild fehlen und die Fälschung kann leicht identifiziert werden.
    • Zweitens unterstützt myOpenId die Anmeldung mit stark signierten Zertifikaten, die im Webbrowser installiert werden können.

Ich habe noch phpMyID als Alternative Provider Yadis eingerichtet, aber ich würde es nicht als Login auf Websites verwenden, die ich nicht vertrauen.

In jedem Fall lesen Sie Sam Ruby tutorial!

10

Sie können auch nachsehen, wie Sie Ihre eigene Site als Delegat für einen anderen OpenID-Anbieter einrichten. Auf diese Weise können Sie Ihre eigene benutzerdefinierte URL verwenden, aber Sie müssen sich nicht um Sicherheit und Wartung kümmern, wie bereits erwähnt. Allerdings ist es nicht sehr schwierig, so kann es nicht Ihre Kriterien erfüllt :)

Als Beispiel würden Sie diesen HTML-Snippet auf der Seite in der gewünschten OpenID-URL hinzufügen, wenn Sie using ClaimID als OpenID-Provider sind:

<link rel="openid.server" href="http://openid.claimid.com/server" /> 
<link rel="openid.delegate" href="http://openid.claimid.com/USERNAME" /> 

Wenn also OpenID-Clients auf Ihre URL zugreifen, "leiten" sie sich selbst zum aktuellen Provider um.

+0

Ich wollte nur einen Hinweis hinzufügen, dass ClaimID nicht mehr in Betrieb ist. – tonygambone

0

Die Auswahl für Open-Source-Open-ID-Anbieter ist ziemlich klein.Masquerade ist derjenige, von dem ich die besten Dinge gehört habe.

1

Ich verstehe völlig, woher Sie mit dieser Frage kommen. Ich hatte bereits eine OpenID auf www.myopenid.com, aber es fühlt sich ein bisschen komisch an, sich auf eine dritte Partei für solch eine wichtige Anmeldung zu verlassen (a.k.a meine permanente "Heimat" im Internet).

Glücklicherweise ist es einfach, einen eigenen Server als OpenID-Server zu verwenden - tatsächlich kann es mit nur zwei Dateien mit phpMyID gemacht werden.

  • Download „phpMyID-0.9.zip“ von http://siege.org/projects/phpMyID/
  • Verschieben Sie es zu Ihrem Server und entpacken Sie die Readme-Datei anzuzeigen, die alles erklärt.
  • Der Zip hat zwei Dateien: MyID.config.php, MyID.php. Ich habe ein Verzeichnis mit dem Namen <mydocumentroot>/OpenID erstellt und in MyID.config.php in index.php umbenannt. Das bedeutet, meine OpenID-URL sehr kühl sein wird: http://<mywebsite>/OpenID
  • auf einem Benutzernamen und Passwort Entscheiden und dann einen Hash von ihnen schaffen mit: echo -n '<myUserNam>:phpMyID:<myPassword>' | openssl md5
  • öffnen index.php in einem Texteditor und fügen Sie den Benutzernamen und das Passwort-Hash im Platzhalter. Speichere es.
  • -Test von http://<mywebsite>/OpenID/
  • Test-ID, um das Surfen verwendet arbeiten: http://www.openidenabled.com/resources/openid-test/checkup/

Rerefence Info: http://www.wynia.org/wordpress/2007/01/15/setting-up-an-openid-with-php/, http://siege.org/projects/phpMyID/, http://blog.stackoverflow.com/2009/01/using-your-own-url-as-your-openid/

Verwandte Themen