.Net 2.0 フレームワークのアプリケーションに Google Apps サポートを統合する必要があるため、私は危機的な状況にあります。そのため、DotNetOpenId v2.5.7 を使用しています。これを実現するために、フレームワーク 4.0 で DotNetOpenAuth v3.4.6 を使用して別のアプリケーションを作成しました。このアプリケーションは、Google Apps で認証を行い、データをすべての情報とともにリダイレクトします。しかし、そのプロセスにはセキュリティ ループ ホールがありました。したがって、アプリケーションを上位のフレームワークに移行できないため、DotNetOpenId を使用する必要があります。
主な問題は、Google Apps で使用する場合です。OpenId エンドポイントがhttps://www.google.com/accounts/o8/udである Gmail アカウントでは問題なく機能します。ただし、OpenId エンドポイントがhttps://www.google.com/a/example.com/o8/ud?be=o8のようなものである場合、アサーション エラーが発生します。アプリケーションは、ユーザーを Google Apps ログイン ページに正しくリダイレクトします。ただし、データが返されると、認証ステータスは失敗になり、次の例外があります。
Message: The OpenId Provider issued an assertion for an Identifier whose discovery information did not match.
Assertion endpoint info:
ClaimedIdentifier: http://example.com/openid?id=11......010
ProviderLocalIdentifier: http://example.com/openid?id=11......010
ProviderEndpoint: https://www.google.com/a/example.com/o8/ud?be=o8
OpenID version: 2.0
Service Type URIs: (unavailable)
Discovered endpoint info:
{ClaimedIdentifier: http://specs.openid.net/auth/2.0/identifier_select
ProviderLocalIdentifier: http://specs.openid.net/auth/2.0/identifier_select
ProviderEndpoint: https://www.google.com/a/example.com/o8/ud?be=o8
OpenID version: 2.0
Service Type URIs: http://specs.openid.net/auth/2.0/server, }
この場所にダウンロードする XRDS ファイルを配置しましたhttp://example.com/openid次のようなデータがあります
<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
<XRD>
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type>
<URI>https://www.google.com/a/example.com/o8/ud?be=o8</URI>
</Service>
<Service priority="10">
<Type>http://specs.openid.net/auth/2.0/signon</Type>
<URI>https://www.google.com/a/example.com/o8/ud?be=o8</URI>
</Service>
</XRD>
</xrds:XRDS>
しかし、これも役に立ちませんでした。
また、次の内容のファイルをhttp://example.com/.well-known/host-metaに配置しました。
Link: <https://www.google.com/accounts/o8/site-xrds?hd=example.com>; rel="describedby http://reltype.google.com/openid/xrd-op"; type="application/xrds+xml"
他に何をする必要があるか教えてください。この問題を解決するために、フォーラムを閲覧したり、Google を使用したりしていますが、進展はありません。