public ActionResult AssertionConsumerService() { var binding = new Saml2PostBinding(); var saml2AuthnResponse = new Saml2AuthnResponse(); binding.Unbind(Request, saml2AuthnResponse, CertificateUtil.Load("~/App_Data/signing-adfs.test_Certificate.crt")); saml2AuthnResponse.CreateSession(); var returnUrl = binding.GetRelayStateQuery()[relayStateReturnUrl]; return Redirect(string.IsNullOrWhiteSpace(returnUrl) ? Url.Content("~/") : returnUrl); }
public ActionResult Logout() { if (!User.Identity.IsAuthenticated) { return Redirect(Url.Content("~/")); } var binding = new Saml2PostBinding(); return binding.Bind(new Saml2LogoutRequest { Issuer = new EndpointReference("http://udv.itfoxtec.com/webapptest"), Destination = new EndpointAddress("https://udv.itfoxtec.com/adfs/ls/") }, CertificateUtil.Load("~/App_Data/webapptest_certificate.pfx")).ToActionResult(); }
public ActionResult Initiate() { var serviceProviderRealm = "https://webapptest.somedomain.com"; var binding = new Saml2PostBinding(); binding.RelayState = string.Format("{0}={1}", "RPID", HttpUtility.UrlEncode(serviceProviderRealm)); var response = new Saml2IdPInitiatedAuthnResponse { Issuer = new EndpointReference("http://udv.itfoxtec.com/webapptest"), Destination = new EndpointAddress("https://udv.itfoxtec.com/adfs/ls/"), }; response.ClaimsIdentity = new ClaimsIdentity(CreateClaims()); response.CreateSecurityToken(CertificateUtil.Load("~/App_Data/webapptest_certificate.pfx")); return binding.Bind(response).ToActionResult(); }