2008-12-18 6 views
34

Gibt es eine OpenID-Implementierung in Java? Ich möchte das in einer Tomcat-Anwendung verwenden.OpenID Java

Antwort

24

Die Bibliothek openid4java scheint am beliebtesten zu sein.

17

Die einzige, die ich untersucht habe, ist OpenID4Java, da es weitere Optionen unter http://wiki.openid.net/Libraries gibt.

Ich empfehle Using OpenID auf TheServerSide.COM für eine gute Einführung mit einigen wertvollen Code-Schnipsel.

Momentan leite ich die Implementierung der Authentifizierung und Autorisierung in der Web Tier unter Verwendung mod_auth_openid. Aber mache trotzdem meine Anwendung zu einem Authentifizierungsanbieter für Leute, die nicht wissen wollen, dass sie OpenID benutzen.

+0

Sehr hilfreicher Artikel! – user327961

4

Wenn Sie nichts dagegen haben einen Dienst dort mit RPX ist

+0

RPX hat mich gerettet !! Ich habe tagelang gekämpft, um alle Funktionen zu implementieren, die OpenID für die Arbeit benötigt. Am Ende konnte ich es immer noch nicht zur Arbeit bringen. Ich benutze jetzt RPX und es dauerte nur ein paar Stunden, um aufzustehen. –

9

Spring Security eine OpenID-Authentifizierungsmethode bietet auch

+1

die immer noch auf openid4java basiert – stivlo

2

Ich bin derzeit mit Openid4Java in einer Grails-Anwendung in Tomcat und es funktioniert ganz gut. Es gibt ein paar Probleme mit der (sehr alten) Binärdatei, die sich auf der Download-Site code.sxip.com befindet, nämlich dass es überhaupt nicht mit Yahoo- oder myopenid.com-Implementierungen funktioniert. Wenn Sie es verwenden möchten, können Sie eine Binärdatei in den Google-Projektgruppen finden oder den Quellcode aus dem Subversion-Repository abrufen und von dort aus erstellen. Es ist ziemlich trivial, im Grunde nur ein Ameisen-Skript, das Sie ausführen müssen.

+0

Ein weiteres Problem, das ich bekam, war, dass ich EnforceRpId (false) auf dem ConsumerManager setzen musste, damit es funktioniert, wenn ich auf localhost entwickle. – stian

10

Ich habe auch selbst gesucht. Hier sind meine Ergebnisse:

  • OpenId4Java läuft nicht auf Google App Engine. Es erzeugt neue Threads
  • JOpenId tut keine Entdeckung und ich habe einige Zweifel, es ist DH-1 oder DH-256, um eine Assoziation herzustellen.

Ich habe noch keinen allgemeinen Java Openid 2.0 Provider gefunden, den ich auf GAE verwenden kann.

+5

Es scheint, dass App Engine jetzt sofort die OpenID-Unterstützung bietet: http://code.google.com/appengine/articles/openid.html – Thilo