我在使用DNOA 3.4.3实现我的OpenID提供者时遇到了麻烦。一切都进行得非常顺利,直到我需要AX支持。我在web.config中设置了AXFetchAsSregTransform,如http://groups.google.com/group/dotnetopenid/browse_thread/thread/5629a24c0a7e8d99所建议的那样。然而,这导致我在decide.aspx页面上出现了异常“序列包含多个元素”,我无法解决它。
以下行将抛出异常:
编辑:奇怪的是,这不再是引发错误的行。 SendResponse()现在触发了异常
任何想法为什么会出现这种情况?非常感谢您的帮助!
导致错误的日志如下:
2010年4月28日12:38:20,247(GMT-7)[5] INFO DotNetOpenAuth.Messaging.Channel - 扫描传入请求以获取消息:https://myprovider/provider.ashx?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&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.mode=checkid_setup&openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ext1.mode=fetch_request&openid.ext1.type.email=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ext1.type.fullname=http%3A%2F%2Faxschema.org%2FnamePerson&openid.ext1.type.language=http%3A%2F%2Faxschema.org%2Fpref%2Flanguage&openid.ext1.required=email&openid.return_to=http%3A%2F%2Fmyrelyingparty%2Flogin.jsp%3Foidreturn%3D%252Fhome&openid.assoc_handle =%7B634080802953194640%7D%7BHxjFNw ==%7D%7B20%7D&openid.realm = http %3A%2F%2Fmyrelyingparty 2010年4月28日12:38:20,285(GMT-7)[5] INFO DotNetOpenAuth.Messaging.Channel - 处理传入的CheckIdRequest(2.0)消息: openid.claimed_id:http://specs.openid.net/auth/2.0/identifier_select openid.identity:http://specs.openid.net/auth/2.0/identifier_select openid.assoc_handle:{634080802953194640} {HxjFNw ==} {20} openid.return_to:http://myrelyingparty/login.jsp?oidreturn =%2Fhome openid.realm:http://myrelyingparty/ openid.mode:checkid_setup openid.ns:http://specs.openid.net/auth/2.0 openid.ns.ext1:http://openid.net/srv/ax/1.0 openid.ext1.mode:fetch_request openid.ext1.type.email:http://axschema.org/contact/email openid.ext1.type.fullname:http://axschema.org/namePerson openid.ext1.type.language:http://axschema.org/pref/language openid.ext1.required:email
2010年4月28日12:38:22,773(GMT-7)[14] INFO DotNetOpenAuth.Messaging.Channel - 扫描传入请求以获取消息:https://myprovider/login.aspx?ReturnUrl =%2fdecide.aspx 2010年4月28日12:38:36,167(GMT-7)[5] INFO DotNetOpenAuth.Messaging.Channel - 扫描传入请求以获取消息:https://myprovider/login.aspx?ReturnUrl =%2fdecide.aspx 2010年4月28日12:38:38,147(GMT-7)[14] ERROR DotNetOpenAuth.Messaging - 协议错误:对领域URL(http://myrelyingparty/)的HTTP请求导致重定向,这在依赖方发现期间是不允许的。 位于DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(Boolean condition,String message,Object [] args) 位于DotNetOpenAuth.OpenId.Realm.Discover(IDirectWebRequestHandler requestHandler,Boolean allowRedirects) 位于DotNetOpenAuth.OpenId.Realm.DiscoverReturnToEndpoints(IDirectWebRequestHandler requestHandler,Boolean allowRedirects) 位于DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.IsReturnUrlDiscoverableCore(OpenIdProvider provider
以下行将抛出异常:
编辑:奇怪的是,这不再是引发错误的行。 SendResponse()现在触发了异常
ProviderEndpoint.SendResponse()
任何想法为什么会出现这种情况?非常感谢您的帮助!
导致错误的日志如下:
2010年4月28日12:38:20,247(GMT-7)[5] INFO DotNetOpenAuth.Messaging.Channel - 扫描传入请求以获取消息:https://myprovider/provider.ashx?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&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.mode=checkid_setup&openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ext1.mode=fetch_request&openid.ext1.type.email=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ext1.type.fullname=http%3A%2F%2Faxschema.org%2FnamePerson&openid.ext1.type.language=http%3A%2F%2Faxschema.org%2Fpref%2Flanguage&openid.ext1.required=email&openid.return_to=http%3A%2F%2Fmyrelyingparty%2Flogin.jsp%3Foidreturn%3D%252Fhome&openid.assoc_handle =%7B634080802953194640%7D%7BHxjFNw ==%7D%7B20%7D&openid.realm = http %3A%2F%2Fmyrelyingparty 2010年4月28日12:38:20,285(GMT-7)[5] INFO DotNetOpenAuth.Messaging.Channel - 处理传入的CheckIdRequest(2.0)消息: openid.claimed_id:http://specs.openid.net/auth/2.0/identifier_select openid.identity:http://specs.openid.net/auth/2.0/identifier_select openid.assoc_handle:{634080802953194640} {HxjFNw ==} {20} openid.return_to:http://myrelyingparty/login.jsp?oidreturn =%2Fhome openid.realm:http://myrelyingparty/ openid.mode:checkid_setup openid.ns:http://specs.openid.net/auth/2.0 openid.ns.ext1:http://openid.net/srv/ax/1.0 openid.ext1.mode:fetch_request openid.ext1.type.email:http://axschema.org/contact/email openid.ext1.type.fullname:http://axschema.org/namePerson openid.ext1.type.language:http://axschema.org/pref/language openid.ext1.required:email
2010年4月28日12:38:22,773(GMT-7)[14] INFO DotNetOpenAuth.Messaging.Channel - 扫描传入请求以获取消息:https://myprovider/login.aspx?ReturnUrl =%2fdecide.aspx 2010年4月28日12:38:36,167(GMT-7)[5] INFO DotNetOpenAuth.Messaging.Channel - 扫描传入请求以获取消息:https://myprovider/login.aspx?ReturnUrl =%2fdecide.aspx 2010年4月28日12:38:38,147(GMT-7)[14] ERROR DotNetOpenAuth.Messaging - 协议错误:对领域URL(http://myrelyingparty/)的HTTP请求导致重定向,这在依赖方发现期间是不允许的。 位于DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(Boolean condition,String message,Object [] args) 位于DotNetOpenAuth.OpenId.Realm.Discover(IDirectWebRequestHandler requestHandler,Boolean allowRedirects) 位于DotNetOpenAuth.OpenId.Realm.DiscoverReturnToEndpoints(IDirectWebRequestHandler requestHandler,Boolean allowRedirects) 位于DotNetOpenAuth.OpenId.Provider.HostProcessedRequest.IsReturnUrlDiscoverableCore(OpenIdProvider provider