Example #1
0
        public string GetSamlLogoutRequest()
        {
            try
            {
                SAMLLogoutRequest request = new SAMLLogoutRequest();

                request.Destination = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.LOGOUT_SEND_TO);
                request.Alias = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.CPEPS);
                request.Issuer = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.SP_LOGOUT_RETURN_URL);
                request.QAALevel = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.QAALEVEL);
                request.Country = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.SAMLCOUNTRY);
                request.SpProvidedId = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.PROVIDERNAME);
                request.NameID = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.SP_ID);
                request.Id = "_" + Guid.NewGuid().ToString();

                SAMLEngine samlEngine = SAMLEngine.Instance;
                samlEngine.Init();
                XmlDocument xml = samlEngine.GenerateLogoutRequest(request);
                string base64String = Convert.ToBase64String(Encoding.UTF8.GetBytes(xml.OuterXml));
                return base64String;
            }
            catch (Exception e)
            {
                _logger.Error(e);
                throw;
            }
        }
Example #2
0
        /// <summary>
        /// Peticion de autenticacion SAML
        /// </summary>
        /// <param name="reqPath">ruta de retorno</param>
        /// <returns>Peticion SAML XML codificado en b64 </returns>
        public string GetSamLoginRequest(string reqPath)
        {
            try
            {
                SAMLRequest request = new SAMLRequest();
                request.Destination = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.SPEPS);
                request.AssertionConsumerServiceURL = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.SP_RETURN_URL) + "?reqPath=" + reqPath;
                request.Alias = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.CPEPS);
                request.ProviderName = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.PROVIDERNAME);
                request.Issuer = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.SAMLISSUER);
                request.QAALevel = ConfigurationSettingsHelper.GetCriticalConfigSetting(CommonConstants.QAALEVEL);
                request.Id = "_" + Guid.NewGuid().ToString();

                request.AddAttribute("eIdentifier", true);
                request.AddAttribute("givenName", true);
                request.AddAttribute("surname", true);
                request.AddAttribute("inheritedFamilyName", false);
                request.AddAttribute("eMail", false);

                SAMLEngine samlEngine = SAMLEngine.Instance;
                samlEngine.Init();
                XmlDocument xml = samlEngine.GenerateRequest(request);
                _logger.Trace("Peticion SAML2: {0} ;", xml.OuterXml);
                string b64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(xml.OuterXml));
                return b64;
            }
            catch (Exception e)
            {
                _logger.Error(e);
                throw;
            }
        }