public ActionResult SingleLogout() { Saml2StatusCodes status; var requestBinding = new Saml2RedirectBinding(); var logoutRequest = new Saml2LogoutRequest(); try { requestBinding.Unbind(Request, logoutRequest, CertificateUtil.Load("~/App_Data/signing-adfs.test_Certificate.crt")); status = Saml2StatusCodes.Success; } catch (Exception exc) { // log exception Debug.WriteLine("SingleLogout error: " + exc.ToString()); status = Saml2StatusCodes.RequestDenied; } var responsebinding = new Saml2RedirectBinding(); responsebinding.RelayState = requestBinding.RelayState; var saml2LogoutResponse = new Saml2LogoutResponse { InResponseTo = logoutRequest.Id, Status = status, Issuer = new EndpointReference("http://udv.itfoxtec.com/webapptest"), Destination = new EndpointAddress("https://udv.itfoxtec.com/adfs/ls/") }; saml2LogoutResponse.DeleteSession(); return(responsebinding.Bind(saml2LogoutResponse, CertificateUtil.Load("~/App_Data/webapptest_certificate.pfx")).ToActionResult()); }
public ActionResult LoggedOut() { var response = new Saml2LogoutResponse(); response.DeleteSession(); return(RedirectToAction("Index")); }