Frage

so ich zur Zeit versucht, einen OpenID-Provider zu machen. Ich habe versucht, Pakete- Atlassian Crowd zwei Java-basierte OpenID-Server verwenden, und WSO2 Identity Server. Nun, in meiner Implementierung ist Sicherheit ein Muss, die mittels SSL und HTTPS-basierte OpenIDs mit. Nun, für beide WSO2 und Crowd eine große Anzahl von Websites einfach nicht funktioniert mit dem OpenIDs zur Verfügung gestellt. Von 20 Standorten getestet, 8 mit Masse nicht, und 10 mit WSO2 fehlgeschlagen. Diese hohe Ausfallrate ist nicht wirklich akzeptabel. Praktisch jede Website, die ein Problem Anspruch hat, dass sie nicht einen OpenID-Endpunkt finden.

Wenn ich die OpenIDs ohne SSL verwendet (so HTTP-basierte OpenIDs) plötzlich die Seiten waren viel nachgiebiger, mit nur zwei von ihnen versagt. Ich bin mit einem Zertifikat von AusCERT, so dass das Problem nicht selbst signierten Zertifikaten fällig sein sollte.

Zuerst dachte ich, dass dies nur eine Frage der eine große Anzahl von RPs zu sein, die einfach nicht HTTPS basierend OpenIDs akzeptierten. Ich habe versucht, in die gleichen Stellen anmelden Ich war mit einer HTTPS-basierten OpenID von Verisign Fehlern auf, obwohl, und es funktionierte. Bei genauerer Betrachtung sowohl WSO2 und Crowd entdeckte ich, dass weder OpenID 2.0 spezifikations insbesondere vollständig angepasst, keiner von ihnen einen Link im Kopf zu einem XRDS Dokument für Yadis Entdeckung. Bedenkt man, dass mein Problem ist, dass Websites können einen OpenID-Endpunkt unter der URL nicht entdecken gebe ich, so scheint es relevant, außer dass wenn ich SSL nicht die HTML-basierte Entdeckung ausreichend ist.

hat jemand eine Einsicht darüber, wo mein Problem wirklich liegt? Das fehlende XRDS Dokument scheint, wie es relevant sein sollte, aber es könnte nur ein Ablenkungsmanöver sein. Baring, dass, wenn jemand eine gute Alternative zu Crowd oder WSO2 kennt, die gut dokumentiert ist, spec funktioniert gut, und ist (relativ) leicht zu konfigurieren, wäre es schön zu wissen!

War es hilfreich?

Lösung

Eine Sache, zu sehen ist, dass einige SSL-Zertifikate Provider sind nicht root Behörden unterzeichnet, die von einigem RPs maßgebend angesehen werden. Stellen Sie sicher, dass Sie Ihr Zertifikat von einem bekommen, dass alle RPs Vertrauen.

Wenn .NET eine Option für Ihren Provider, überprüfen Sie die freie und Open-Source-out DotNetOpenAuth Bibliothek, die Sie selbst hosten und wird von einigen großen OPs wie MySpace und netidme.com und andere . Es Implementierung von OpenID 2.0 abgeschlossen ist, ist es die ICAM-2.0 Profil OpenID US-Regierung unterstützt, und hat für viele Interoperabilität, Sicherheit und Compliance-Tests verwendet worden, und es funktioniert sowohl mit OpenID 1.1 und 2.0 RPs, so dass Sie sehr wahrscheinlich sein würden haben gute Interoperabilität mit vielen / alle RPs. Es hat eine Reihe von zusätzlichen Sicherheitsmerkmalen , dass Sie nur einschalten können (wie erforderlich HTTPS, wie Sie gesagt ist Voraussetzung).

(Full Disclosure:. Ich schrieb DotNetOpenAuth)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top