Does Component Space support IDP-init SLO to work against sending out SLO request to an SP ( to which user had previously SSO’d in via SP-initiated SSO) ?
I tried this but I see that canSLO ( inside LogOff method in AccountController at IDP) returns false. And when I comment ‘canSLO’ just for checking, it fails at initiateSLO:
I am using same browser session for SP-init SSO and IDP-init SLO ( via logoff button click)
There are no partner service providers to logout.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: ComponentSpace.SAML2.Exceptions.SAMLProtocolException: There are no partner service providers to logout.
Source Error:
Line 396: {Line 397: // Request logout at the service providers.Line 398: SAMLIdentityProvider.InitiateSLO(Response, null, null);Line 399:Line 400: return new EmptyResult(); |
Source File: C:\rahul\SAMLv20-evaluation\SAML for .NET\Examples\SSO\MVC\MvcExampleIdentityProvider\Controllers\AccountController.cs Line: 398
Stack Trace:
[SAMLProtocolException: There are no partner service providers to logout.] ComponentSpace.SAML2.InternalSAMLIdentityProvider.InitiateSLO(HttpResponseBase httpResponse, String logoutReason, String relayState) +170 ComponentSpace.SAML2.SAMLIdentityProvider.InitiateSLO(HttpResponseBase httpResponse, String logoutReason, String relayState) +43 MvcExampleIdentityProvider.Controllers.AccountController.LogOff() in C:\rahul\SAMLv20-evaluation\SAML for .NET\Examples\SSO\MVC\MvcExampleIdentityProvider\Controllers\AccountController.cs:398 lambda_method(Closure , ControllerBase , Object[] ) +61 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary parameters) +157 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary parameters) +27 System.Web.Mvc.Async.<>c.b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22 System.Web.Mvc.Async.WrappedAsyncResult.CallEndDelegate(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.WrappedAsyncResultBase.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 System.Web.Mvc.Async.<>c__DisplayClass11_0.b__0() +58 System.Web.Mvc.Async.<>c__DisplayClass11_2.b__2() +228 System.Web.Mvc.Async.<>c__DisplayClass7_0.b__1(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c__DisplayClass3_6.b__4() +35 System.Web.Mvc.Async.<>c__DisplayClass3_1.b__1(IAsyncResult asyncResult) +100 System.Web.Mvc.Async.WrappedAsyncResult.CallEndDelegate(IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResultBase.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +11 System.Web.Mvc.Async.WrappedAsyncVoid.CallEndDelegate(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.WrappedAsyncResultBase.End() +49 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +45 System.Web.Mvc.<>c.b__151_2(IAsyncResult asyncResult, Controller controller) +13 System.Web.Mvc.Async.WrappedAsyncVoid.CallEndDelegate(IAsyncResult asyncResult) +22 System.Web.Mvc.Async.WrappedAsyncResultBase.End() +49 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +28 System.Web.Mvc.Async.WrappedAsyncVoid.CallEndDelegate(IAsyncResult asyncResult) +29 System.Web.Mvc.Async.WrappedAsyncResultBase.End() +49 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9873649 System.Web.<>c__DisplayClass285_0.b__0() +26 System.Web.StepInvoker.Invoke(Action executionStep) +101 System.Web.<>c__DisplayClass4_0.b__0() +22 Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule.OnExecuteRequestStep(HttpContextBase context, Action step) +64 System.Web.<>c__DisplayClass284_0.b__0(Action nextStepAction) +54 System.Web.StepInvoker.Invoke(Action executionStep) +85 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +9979713 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +159 |