示例#1
0
        public ActionResult RespondToLogoutRequest()
        {
            var requestData  = Request.ToHttpRequestData(true);
            var binding      = Saml2Binding.Get(requestData);
            var unbindResult = binding.Unbind(requestData, null);

            var logoutRequest = Saml2LogoutRequest.FromXml(unbindResult.Data);

            var model = new RespondToLogoutRequestModel()
            {
                LogoutRequestXml = unbindResult.Data.PrettyPrint(),
                InResponseTo     = logoutRequest.Id.Value,
                DestinationUrl   = new Uri(new Uri(logoutRequest.Issuer.Id + "/"), "Logout"),
                RelayState       = Request.QueryString["RelayState"]
            };

            return(Saml2Binding.Get(Saml2BindingType.HttpRedirect)
                   .Bind(model.ToLogoutResponse())
                   .ToActionResult());
        }
示例#2
0
 public ActionResult RespondToLogoutRequest(RespondToLogoutRequestModel model)
 {
     return(Saml2Binding.Get(Saml2BindingType.HttpRedirect)
            .Bind(model.ToLogoutResponse())
            .ToActionResult());
 }