We have two IdPs configured in our app.
IdP1, SP1
IdP2, SP2
This is the SP-initiated SLO we implemented on our app:
- from SP1 → _samlServiceProvider.InitiateSloAsync(<PartnerIdentityProvider: IdP1’s name>, string.Empty, Uri.UnescapeDataString(postLogoutRedirectUrl))
- IdP1’s SingleLogoutService →
{
bool isRequest = false;
bool hasCompleted = false;
string logoutReason = null;
string partnerSP = null;
string relayState = null;
SAMLController.ConfigurationName = <IdP1's Name>;
SAMLIdentityProvider.ReceiveSLO(Request, Response, out isRequest, out hasCompleted, out
logoutReason, out partnerSP, out relayState);
if (isRequest)
{
SAMLIdentityProvider.SendSLO(Response, "");
return <app logout process>;
}
else if (hasCompleted)
return <app logout process>;
return new EmptyResult();
}
When we logout from SP1 and both IdPs have single-signed on, on SAMLIdentityProvider.SendSLO(Response, "")
, we’re getting the error:
The partner service provider <SP2’s name> is not configured.
What did we do wrong here? How to do a proper SLO if both IdPs have singled-signed on?