public ActionResult SpidRequest(string idP) { ThreadContext.Properties["Provider"] = idP; try { string spidServiceUrl; switch (idP) { case "poste_id": spidServiceUrl = "https://spidposte.test.poste.it/jod-fs/ssoservicepost"; break; case "tim_id": spidServiceUrl = "#"; ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); case "sielte_id": spidServiceUrl = "#"; ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); case "infocert_id": spidServiceUrl = "#"; ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); default: ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); } int securityLevelSPID = 1; Guid spidIdRequest = Guid.NewGuid(); HttpCookie requestCookie = new HttpCookie(ConfigurationManager.AppSettings["SPID_COOKIE"].ToString()); requestCookie.Expires = DateTime.Now.AddMinutes(30); requestCookie.Value = spidIdRequest.ToString(); System.Web.HttpContext.Current.Response.Cookies.Add(requestCookie); var spidCryptoRequest = Saml2Helper.BuildPostSamlRequest("_" + spidIdRequest.ToString(), spidServiceUrl, ConfigurationManager.AppSettings["SPID_DOMAIN_VALUE"], securityLevelSPID, null, null, StoreLocation.LocalMachine, StoreName.My, X509FindType.FindBySubjectName, ConfigurationManager.AppSettings["SPID_CERTIFICATE_NAME"], idP, ConfigurationManager.AppSettings["ENVIROMENT"].ToString() == "dev" ? 1 : 0); byte[] base64EncodedBytes = Encoding.UTF8.GetBytes(spidCryptoRequest); string returnValue = System.Convert.ToBase64String(base64EncodedBytes); ViewData["data"] = returnValue; ViewData["action"] = spidServiceUrl; return(View("PostData")); } catch (Exception ex) { Log.Error("Si è verificato un Errore", ex); return(View("Error")); } }
public ActionResult SpidRequest(string idP) { HttpContext CurrentContext = _contextAccessor.HttpContext; ThreadContext.Properties["Provider"] = idP; try { string serviceUrl = ""; switch (idP) { case "poste_id": serviceUrl = "https://spidposte.test.poste.it/jod-fs/ssoservicepost"; break; case "tim_id": serviceUrl = "#"; ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); case "sielte_id": serviceUrl = "#"; ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); case "infocert_id": serviceUrl = "#"; ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); default: ViewData["Message"] = "Ci dispiace ma il sistema di test non è supportato."; return(View("Error")); } int securityLevelSPID = 1; Guid spidIdRequest = Guid.NewGuid(); var spidCryptoRequest = Saml2Helper.BuildPostSamlRequest("_" + spidIdRequest.ToString(), serviceUrl, _spidOptions.DomainValue, securityLevelSPID, null, null, StoreLocation.LocalMachine, StoreName.My, X509FindType.FindBySubjectName, _spidOptions.CertificateName, idP, 1); byte[] base64EncodedBytes = Encoding.UTF8.GetBytes(spidCryptoRequest); string returnValue = System.Convert.ToBase64String(base64EncodedBytes); ViewData["data"] = returnValue; ViewData["action"] = serviceUrl; return(View("PostData")); } catch (Exception ex) { Log.Error("Si è verificato un Errore", ex); return(View("Error")); } }