Cuando un usuario hace clic en Cerrar sesión en mi sitio web, ejecuta el siguiente código .NET:
public ActionResult SLOService()
{
// Receive the single logout request or response.
// If a request is received then single logout is being initiated by the identity provider.
// If a response is received then this is in response to single logout having been initiated by the service provider.
bool isRequest = false;
string logoutReason = null;
string partnerIdP = null;
SAMLServiceProvider.ReceiveSLO(Request, out isRequest, out logoutReason, out partnerIdP);
if (isRequest)
{
// Logout locally. RTC applilcation will delete the session here
Session.Clear();
// Respond to the IdP-initiated SLO request indicating successful logout.
SAMLServiceProvider.SendSLO(Response, null);
}
else
{
// SP-initiated SLO has completed.
FormsAuthentication.RedirectToLoginPage();
}
return new EmptyResult();
}
Los usuarios ingresan a nuestro sitio después de iniciar sesión en su IdP de forma externa, y han requerido que los atributos se pasen y se procesen dentro de la lógica de Servicio del Cliente (no incluido en esta pregunta). Una vez que verificamos los atributos pasados desde el IdP, los permitimos en el sitio.
Cuando deciden cerrar la sesión, no queremos que se queden en nuestro sitio, ya que no podrán autenticarse y, por lo tanto, utilizar nuestro sitio. En su lugar, queremos que vuelvan al IdP y se autentiquen allí.
¿Sería correcto para mí redirigirlos al SingleSignOnServiceUrl
que nos han proporcionado?
Pido disculpas por la pregunta vaga / poco clara, este es un tema completamente nuevo para mí, así que todavía estoy aprendiendo los términos y el proceso. Además, no estaba seguro de a dónde pertenecía esta pregunta en la red de StackExchange.