そのため、現在 OpenID プロバイダーを作成しようとしています。Atlassian の Crowd と WSO2 Identity Server という 2 つの Java ベースの OpenID サーバー パッケージを使用してみました。現在、私の実装では、セキュリティは必須です。つまり、SSL を使用し、HTTPS ベースの OpenID を使用しています。現在、WSO2 と Crowd の両方で、多数のサイトが提供されている OpenID では機能しません。テストした 20 のサイトのうち、8 が Crowd で失敗し、10 が WSO2 で失敗しました。この高い故障率は、実際には受け入れられません。問題のあるほぼすべてのサイトが、OpenID エンドポイントが見つからないと主張しています。
SSL なしで OpenID (つまり HTTP ベースの OpenID) を使用すると、突然、サイトのコンプライアンスが大幅に向上し、失敗したサイトは 2 つだけでした。AusCERT からの証明書を使用しているため、問題は自己署名証明書によるものではありません。
最初は、これは単純に HTTPS ベースの OpenID を受け入れない RP が多数存在するためだと考えていました。Verisign の HTTPS ベースの OpenID を使用して、失敗していたのと同じサイトにログインしようとしましたが、うまくいきました。WSO2 と Crowd の両方をよく見てみると、どちらも OpenID 2.0 仕様に完全に準拠していないことがわかりました。私の問題は、指定した URL でサイトが OpenID エンドポイントを検出できないことであることを考えると、SSL を使用しない場合は HTML ベースの検出で十分であることを除いて、関連があるようです。
私の問題が実際にどこにあるのかについて、誰かが洞察を持っていますか? 欠落している XRDS ドキュメントは関連しているように見えますが、それは単なるニシンである可能性があります。Crowd または WSO2 に代わる優れた方法を誰かが知っていて、十分に文書化されていて、仕様どおりに機能し、(比較的) 構成が簡単であることを明らかにしてください。