c# - DotNetOpenAuth OpenID Provider "Sequence contains more than one element" -
i'm having trouble implementing openid provider dnoa 3.4.3. going absolutely peachy until needed ax support well. set axfetchassregtransform in web config, recommended andrew @ http://groups.google.com/group/dotnetopenid/browse_thread/thread/5629a24c0a7e8d99. doing caused me exception "sequence contains more 1 element" on decide.aspx page, however, , haven't been able past it.
the following line throwing exception:
edit: strangely enough, not line throwing error anymore. sendresponse() triggering exception
claimsrequest requestedfields = providerendpoint.pendingrequest.getextension();
providerendpoint.sendresponse()
any thoughts on why may be? appreciated!
the logs leading error follows:
2010-04-28 12:38:20,247 (gmt-7) [5] info dotnetopenauth.messaging.channel - scanning incoming request messages: 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-04-28 12:38:20,285 (gmt-7) [5] info dotnetopenauth.messaging.channel - processing incoming checkidrequest (2.0) message: 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-04-28 12:38:22,773 (gmt-7) [14] info dotnetopenauth.messaging.channel - scanning incoming request messages: https://myprovider/login.aspx?returnurl=%2fdecide.aspx 2010-04-28 12:38:36,167 (gmt-7) [5] info dotnetopenauth.messaging.channel - scanning incoming request messages: https://myprovider/login.aspx?returnurl=%2fdecide.aspx 2010-04-28 12:38:38,147 (gmt-7) [14] error dotnetopenauth.messaging - protocol error: http request realm url (http://myrelyingparty/) resulted in redirect, not allowed during relying party discovery. @ 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) @ dotnetopenauth.openid.provider.hostprocessedrequest.isreturnurldiscoverable(openidprovider provider) @ openidproviderwebforms.decide.page_load(object src, eventargs e) @ system.web.util.callihelper.eventargfunctioncaller(intptr fp, object o, object t, eventargs e) @ system.web.util.callieventhandlerdelegateproxy.callback(object sender, eventargs e) @ system.web.ui.control.onload(eventargs e) @ system.web.ui.control.loadrecursive() @ system.web.ui.page.processrequestmain(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) @ system.web.ui.page.processrequest(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) @ system.web.ui.page.processrequest() @ system.web.ui.page.processrequest(httpcontext context) @ asp.decide_aspx.processrequest(httpcontext context) @ system.web.httpapplication.callhandlerexecutionstep.system.web.httpapplication.iexecutionstep.execute() @ system.web.httpapplication.executestep(iexecutionstep step, boolean& completedsynchronously) @ system.web.httpapplication.pipelinestepmanager.resumesteps(exception error) @ system.web.httpapplication.beginprocessrequestnotification(httpcontext context, asynccallback cb) @ system.web.httpruntime.processrequestnotificationprivate(iis7workerrequest wr, httpcontext context) @ system.web.hosting.pipelineruntime.processrequestnotificationhelper(intptr managedhttpcontext, intptr nativerequestcontext, intptr moduledata, int32 flags) @ system.web.hosting.pipelineruntime.processrequestnotification(intptr managedhttpcontext, intptr nativerequestcontext, intptr moduledata, int32 flags) @ system.web.hosting.pipelineruntime.processrequestnotificationhelper(intptr managedhttpcontext, intptr nativerequestcontext, intptr moduledata, int32 flags) @ system.web.hosting.pipelineruntime.processrequestnotification(intptr managedhttpcontext, intptr nativerequestcontext, intptr moduledata, int32 flags) 2010-04-28 12:38:38,149 (gmt-7) [14] info dotnetopenauth.yadis - relying party discovery @ url http://myrelyingparty/ failed. dotnetopenauth.messaging.protocolexception: http request realm url (http://myrelyingparty/) resulted in redirect, not allowed during relying party discovery. @ dotnetopenauth.messaging.errorutilities.verifyprotocol(boolean condition, string message, object[] args) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\messaging\errorutilities.cs:line 235 @ dotnetopenauth.openid.realm.discover(idirectwebrequesthandler requesthandler, boolean allowredirects) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\realm.cs:line 446 @ dotnetopenauth.openid.realm.discoverreturntoendpoints(idirectwebrequesthandler requesthandler, boolean allowredirects) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\realm.cs:line 424 @ dotnetopenauth.openid.provider.hostprocessedrequest.isreturnurldiscoverablecore(openidprovider provider) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\provider\hostprocessedrequest.cs:line 142 2010-04-28 12:38:42,076 (gmt-7) [8] error openidproviderwebforms.global - unhandled exception raised. details follow: system.web.httpunhandledexception: exception of type 'system.web.httpunhandledexception' thrown. ---> system.invalidoperationexception: sequence contains more 1 element @ system.linq.enumerable.singleordefault[tsource](ienumerable`1 source) @ dotnetopenauth.openid.provider.request.getextension[t]() in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\provider\request.cs:line 176 @ dotnetopenauth.openid.extensions.extensionsinterophelper.convertsregtomatchrequest(ihostprocessedrequest request) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\extensions\extensionsinterophelper.cs:line 180 @ dotnetopenauth.openid.behaviors.axfetchassregtransform.dotnetopenauth.openid.provider.iproviderbehavior.onoutgoingresponse(iauthenticationrequest request) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\behaviors\axfetchassregtransform.cs:line 139 @ dotnetopenauth.openid.provider.openidprovider.applybehaviorstoresponse(irequest request) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\provider\openidprovider.cs:line 482 @ dotnetopenauth.openid.provider.openidprovider.sendresponse(irequest request) in c:\teamcity\buildagent\work\bf9e2ca68b75a334\src\dotnetopenauth\openid\provider\openidprovider.cs:line 325 @ openidproviderwebforms.decide.yes_click(object sender, eventargs e) in c:\projects\openidproviderwebforms\decide.aspx.cs:line 130 @ system.web.ui.webcontrols.button.onclick(eventargs e) @ system.web.ui.webcontrols.button.raisepostbackevent(string eventargument) @ system.web.ui.page.raisepostbackevent(ipostbackeventhandler sourcecontrol, string eventargument) @ system.web.ui.page.processrequestmain(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) --- end of inner exception stack trace --- @ system.web.ui.page.handleerror(exception e) @ system.web.ui.page.processrequestmain(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) @ system.web.ui.page.processrequest(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) @ system.web.ui.page.processrequest() @ system.web.ui.page.processrequest(httpcontext context) @ asp.decide_aspx.processrequest(httpcontext context) in c:\windows\microsoft.net\framework64\v2.0.50727\temporary asp.net files\root\7f580b93\b3e4d917\app_web_tulh9ymv.1.cs:line 0 @ system.web.httpapplication.callhandlerexecutionstep.system.web.httpapplication.iexecutionstep.execute() @ system.web.httpapplication.executestep(iexecutionstep step, boolean& completedsynchronously)
oops. found bug in dotnetopenauth.
fix checked v3.2 7cea654 , v3.4 bd7c148. can fix in tomorrow's build.
Comments
Post a Comment