1
  • DotNetOpenAuth 3.4.1.10044
  • Windows 7(64ビット)
  • VS 2008 SP1、.NET 3.5、C#
  • Windows Azure

OpenID呼び出しのフラグメントの背後にあるASP.NETコード:

OpenIdRelyingParty rp = new OpenIdRelyingParty(null);
string discoveryUri = "";
if (provider == "google") {
    discoveryUri = "https://www.google.com/accounts/08/id";
    Application.Set("Provider", "Google");
} else if (provider == "yahoo") {
    discoveryUri = "https://me.yahoo.com";
    Application.Set("Provider", "Yahoo");
}
try {
    string openIdUri = Request.Url.ToString();
    var b = new UriBuilder(openIdUri) { Query = "" };
    Response.Write("OpenId_Click: Request.Url = " + Request.Url);
    var req = rp.CreateRequest(discoveryUri, b.Uri, b.Uri);
    Response.Write("OpenId_Click: discoveryUri = " + discoveryUri);
    try {
        req.RedirectToProvider();
    } catch (ThreadAbortException tae) {
        string taem = tae.Message;
    }
} catch (Exception ex) {
    string s = ex.Message;
}
rp.Dispose();

私には次の(3)行動があります:

ASP.NET(Azure Development Storage)を最初に起動したときに、Yahoo!に対して認証すると、成功します。Yahoo!に対して認証しようとすると 1分後、RedirectToProviderを呼び出しても応答が返されることはありません。その後、GoogleとYahoo!への追加の呼び出し 応答を返さないでください。

ASP.NETを最初に起動したとき、Googleに対して認証すると、成功します。1分後にもう一度Googleに対して認証しようとすると、ユーザー名/パスワードの入力を求められることなく、RedirectToProviderの呼び出しは成功します。(remember-meチェックボックスをオンにしませんでした。)その後、Googleへの追加の呼び出しは引き続き成功します(Googleは最初のリクエストの結果をキャッシュしているようです。)その後、Yahoo!に対して認証した場合。RedirectToProviderを呼び出しても、応答が返されることはありません。Googleに戻ると、ユーザー名/パスワードを聞かれなくても成功します。

ASP.NET(Azure Development Storage)を最初に起動したときに、Yahoo!に対して認証すると、成功します。1分後にGoogleに対して認証しようとすると、RedirectToProviderを呼び出しても応答が返されません。

明らかな失敗はありません(呼び出しが成功したかどうかに関係なく発生するように見える通常のThreadAbortExceptionノイズを除く)。

何が起こっているのかについて何かアイデアはありますか?

これは、Yahoo!が3番目のケースからのトレース情報です。成功した場合、Googleはそうではありません:

単一のメッセージで作成された同期キュー==>ビジー:情報[WaWebHost.exe] DotNetOpenAuth、バージョン= 3.4.1.10044、カルチャ=ニュートラル、PublicKeyToken = 2780ccd10d57b246(公式)
[WaWebHost.exe]このステートレスRPをリプレイ攻撃から保護するために、プロバイダーの最小OpenIDバージョン要件を2.0に引き上げます。
[WaWebHost.exe]レポートは、ユーザー、ドメイン、アセンブリのスコープを持つ分離ストレージを使用します
[WaWebHost.exe] HTTP GET https://me.yahoo .com /
[WaWebHost.exe]X-XRDS-HTTPヘッダーで場所が見つかりました。https://open.login.yahooapis.com/openid20/www.yahoo.com/xrdsからXRDSをプルする準備をしています
[WaWebHost.exe] HTTP GET https://open.login.yahooapis.com/openid20/www.yahoo.com/xrds
[WaWebHost.exe] XRDSで検出されたサービスの総数:1
[WaWebHost.exe] [{
    ClaimedIdentifier:http://specs.openid.net/auth/2.0/identifier_select
    ProviderLocalIdentifier:http://specs.openid.net/auth/2.0/identifier_select
    ProviderEndpoint:https://open.login.yahooapis.com/openid/op/auth
    OpenIDバージョン:2.0
    サービスタイプURI:
        http://specs.openid.net/auth/2.0/server
        http://specs.openid.net/extensions/pape/1.0
        http://openid.net/sreg/1.0
        http://openid.net/extensions/sreg/1.1
        http://openid.net/srv/ax/1.0
        http://specs.openid.net/extensions/oauth/1.0
        http://specs.openid.net/extensions/ui/1.0/lang-pref
        http://specs.openid.net/extensions/ui/1.0/mode/popup
        http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
        http://www.idmanagement.gov/schema/2009/05/icam/no-pii.pdf
        http://www.idmanagement.gov/schema/2009/05/icam/openid-trust-level1.pdf
        http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf
}、]
[WaWebHost.exe] XRDSにサービスエンドポイントが含まれているため、HTML検出をスキップします。
[WaWebHost.exe]ユーザー指定の識別子で検出を実行しています:https://me.yahoo.com/
[WaWebHost.exe]ユーザー指定の識別子の認証要求を作成しています:https://me.yahoo.com/
[WaWebHost.exe] CheckIdRequest(2.0)メッセージを送信する準備をしています。
[WaWebHost.exe]メッセージに適用されるバインディング要素DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptionsがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]メッセージの送信:CheckIdRequest
[WaWebHost.exe]https://open.login.yahooapis.com/openid/op/auth?openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identityにリダイレクトしています= http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.return_to = http%3A%2F%2F127.0.0.1%3A5100%2FOpenId.aspx%3Fdnoa.userSuppliedIdentifier%3Dhttps%253A%252F %252Fme.yahoo.com&openid.realm = http%3A%2F%2F127.0.0.1%3A5100%2FOpenId.aspx&openid.mode = checkid_setup&openid.ns = http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0
[WaWebHost.exe]このステートレスRPをリプレイ攻撃から保護するために、プロバイダーの最小OpenIDバージョン要件を2.0に引き上げます。
[WaWebHost.exe]着信HTTPリクエスト:GEThttp://127.0.0.1:5100/OpenId.aspx?dnoa.userSuppliedIdentifier=https%3A%2F%2Fme.yahoo.com&openid.ns=http%3A%2F%2Fspecs。 openid.net%2Fauth%2F2.0&openid.mode = id_res&openid.return_to = http%3A%2F%2F127.0.0.1%3A5100%2FOpenId.aspx%3Fdnoa.userSuppliedIdentifier%3Dhttps%253A%252F%252Fme.yahoo.com&openid。 Claimed_id = https%3A%2F%2Fme.yahoo.com%2Fa%2FXLKt_2gxi_gDtLXSO4IyPi6gz3xDxA-%23afa8c&openid.identity = https%3A%2F%2Fme.yahoo.com%2Fa%2FXLKt_2gxi_ %2F127.0.0.1%3A5100%2FOpenId.aspx&openid.assoc_handle = kCG5j8w0Czja2yJ.JumEVy3SNaHp4aZQ4AdjguIo.OU2SrcpQsEtBxiZvqP_wP9Yf03KI_eOet5.Qsbv2Ov7MXEyGdVP4b4p4Cewoent7pmFNBxanpkYCg_W_zvJXkUo&openid.response_nonce = 2010-03-04T19%3A48%3A00ZT3svYxSveINSAkkLdpO.IApS8NhEBBSdLQ  - &OpenIDの。signed = assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Csigned%2Cpape.auth_level.nist&openid.op_endpoint = https%3A%2F%2Fopen.login.yahooapis.com%2Fopenid auth_level.nist = 0&openid.sig = mnpe8U7hLo3XBpUnmuX2tRgPwHA%3D
[WaWebHost.exe]受信した着信要求:PositiveAssertionResponse
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]次の着信PositiveAssertionResponseメッセージ署名を確認しています:mnpe8U7hLo3XBpUnmuX2tRgPwHA =
[WaWebHost.exe] CheckAuthenticationRequest(2.0)メッセージを送信する準備をしています。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptionsがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]CheckAuthenticationRequestリクエストを送信しています。
[WaWebHost.exe] HTTP POST https://open.login.yahooapis.com/openid/op/auth
[WaWebHost.exe]CheckAuthenticationResponse応答を受信しました。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptionsがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]メッセージに適用されるバインディング要素DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement。
[WaWebHost.exe]メッセージに適用されるバインディング要素DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement。
[WaWebHost.exe]メッセージに適用されるバインディング要素DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions。
[WaWebHost.exe]メッセージに適用されるバインディング要素DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement。
[WaWebHost.exe]アサーションが識別子の検出結果と一致することを確認しています...
[WaWebHost.exe] HTTP GET https://me.yahoo.com/a/XLKt_2gxi_gDtLXSO4IyPi6gz3xDxA--#afa8c
[WaWebHost.exe]X-XRDS-HTTPヘッダーで場所が見つかりました。https://open.login.yahooapis.com/openid20/user_profile/xrdsからXRDSをプルする準備をしています
[WaWebHost.exe] HTTP GET https://open.login.yahooapis.com/openid20/user_profile/xrds
[WaWebHost.exe] XRDSで検出されたサービスの総数:1
[WaWebHost.exe] [{
    ClaimedIdentifier:https://me.yahoo.com/a/XLKt_2gxi_gDtLXSO4IyPi6gz3xDxA--#afa8c
    ProviderLocalIdentifier:https://me.yahoo.com/a/XLKt_2gxi_gDtLXSO4IyPi6gz3xDxA--#afa8c
    ProviderEndpoint:https://open.login.yahooapis.com/openid/op/auth
    OpenIDバージョン:2.0
    サービスタイプURI:
        http://specs.openid.net/auth/2.0/signon
        http://specs.openid.net/extensions/pape/1.0
        http://openid.net/sreg/1.0
        http://openid.net/extensions/sreg/1.1
        http://openid.net/srv/ax/1.0
        http://specs.openid.net/extensions/oauth/1.0
        http://specs.openid.net/extensions/ui/1.0/lang-pref
        http://specs.openid.net/extensions/ui/1.0/mode/popup
        http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
        http://www.idmanagement.gov/schema/2009/05/icam/no-pii.pdf
        http://www.idmanagement.gov/schema/2009/05/icam/openid-trust-level1.pdf
        http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdf
}、]
[WaWebHost.exe] XRDSにサービスエンドポイントが含まれているため、HTML検出をスキップします。
[WaWebHost.exe]https://open.login.yahooapis.com/openid/op/auth経由でhttps://me.yahoo.com/a/XLKt_2gxi_gDtLXSO4IyPi6gz3xDxA--#afa8cのIDアサーションを受信しました。
[WaWebHost.exe]このステートレスRPをリプレイ攻撃から保護するために、プロバイダーの最小OpenIDバージョン要件を2.0に引き上げます。
[WaWebHost.exe]着信HTTPリクエスト:GET http://127.0.0.1:81/OpenId.aspx?provider=Yahoo&email=rjf@surfmark.com&userid=XLKt_2gxi_gDtLXSO4IyPi6gz3xDxA--
[WaWebHost.exe]このステートレスRPをリプレイ攻撃から保護するために、プロバイダーの最小OpenIDバージョン要件を2.0に引き上げます。
[WaWebHost.exe] HTTP GET https://www.google.com/accounts/o8/id
[WaWebHost.exe]ユーザー指定の識別子でGETからXRDS応答を受信しました。
[WaWebHost.exe] XRDSで検出されたサービスの総数:1
[WaWebHost.exe] [{
    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/accounts/o8/ud
    OpenIDバージョン:2.0
    サービスタイプURI:
        http://specs.openid.net/auth/2.0/server
        http://openid.net/srv/ax/1.0
        http://specs.openid.net/extensions/ui/1.0/mode/popup
        http://specs.openid.net/extensions/ui/1.0/icon
        http://specs.openid.net/extensions/pape/1.0
}、]
[WaWebHost.exe] XRDSにサービスエンドポイントが含まれているため、HTML検出をスキップします。
[WaWebHost.exe]ユーザー指定の識別子で検出を実行します:https://www.google.com/accounts/o8/id
[WaWebHost.exe]ユーザー指定の識別子の認証リクエストを作成しています:https://www.google.com/accounts/o8/id
[WaWebHost.exe] CheckIdRequest(2.0)メッセージを送信する準備をしています。
[WaWebHost.exe]メッセージに適用されるバインディング要素DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptionsがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]バインディング要素DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElementがメッセージに適用されませんでした。
[WaWebHost.exe]メッセージの送信:CheckIdRequest
[WaWebHost.exe]https://www.google.com/accounts/o8/ud?openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=httpにリダイレクト%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.return_to = http%3A%2F%2F127.0.0.1%3A5100%2FOpenId.aspx%3Fdnoa.userSuppliedIdentifier%3Dhttps%253A%252F%252Fwww .google.com%252Faccounts%252Fo8%252Fid&openid.realm = http%3A%2F%2F127.0.0.1%3A5100%2FOpenId.aspx&openid.mode = checkid_setup&openid.ns = http%3A%2F%2Fspecs.openid.net%2Fauth %2F2.0

4

1 に答える 1