MANUAL TECNICO DE SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO MINISTERIO DE SALUD Y PROTECCIÓN SOCIAL BOGOTÁ, junio 21 de 2019 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: VERSIÓN: SEG 2.1 FECHA: 2016-09-23 Control de Versiones Versión Fecha Autor Observaciones 1.0 2019-03-25 Herly Suárez V. 1.1 2019-06-21 Herly Suárez V. Creación del documento, consolidación de información de web Services de SEGURIDAD, disponible para aplicaciones del Ministerio de Salud y Protección Social. Se complementa la lista de proyectos de seguridad en TFS y se actualiza logo 2 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: VERSIÓN: SEG 2.1 FECHA: 2016-09-23 TABLA DE CONTENIDO 1. INTRODUCCIÓN ......................................................................................................................... 4 2. PROPÓSITO ................................................................................................................................ 4 3. ALCANCE .................................................................................................................................... 4 4. DESCRIPCIÓN GENERAL DEL COMPONENTE DE SEGURIDAD ........................................... 4 5. USUARIOS .................................................................................................................................. 4 6. NORMATIVA Y OTROS DOCUMENTOS EXTERNOS ............................................................... 5 7. DEFINICIONES ............................................................................................................................ 5 8. PROYECTOS DE LA SOLUCION DE SEGURIDAD ................................................................... 8 9. SERVICIOS WEB DE SEGURIDAD ............................................................................................ 9 9.1 Web Service de Enrolar Persona ............................................................................................... 9 9.2 Web Service de Autenticar Usuario ......................................................................................... 10 9.2.1 Método Autenticar ................................................................................................................ 10 9.2.2 Método CambiarContraseña ................................................................................................ 11 9.2.3 Método RecordarContraseña ............................................................................................... 12 9.2.4 Método Autorizar con Perfil .................................................................................................. 13 9.2.5 Método Autorizar.................................................................................................................. 15 3 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: VERSIÓN: SEG 2.1 FECHA: 2016-09-23 1. INTRODUCCIÓN Este Documento está dirigido a desarrolladores que requieren conocer el detalle técnico de los Web Services del componente de SISPRO-Seguridad para que tengan el marco de referencia en caso que se requiera realizar alguna actualización a los servicios o consumirlos desde otros aplicativos o componentes del Ministerio de Salud y Protección Social. 2. PROPÓSITO El presente documento tiene propósito brindar un marco de referencia a tener en cuenta en los desarrollos que impliquen el consumo o actualización de los Web Services del componente de SISPRO-Seguridad. 3. ALCANCE Este documento contiene la información técnica de los Web Services del componente de SISPRO-Seguridad: Componente / Líder Técnico Aplicación de SISPRO Seguridad Herly Suárez Área Funcional Líder Funcional OTIC Herly Suárez 4. DESCRIPCIÓN GENERAL DEL COMPONENTE DE SEGURIDAD Sistema cuyo objetivo es proveer las herramientas para realizar la administración de usuarios, de permisos y perfiles, y brindar la seguridad de control y acceso a los aplicativos misionales del Ministerio de Salud y Protección Social así como realizar la autenticación de los ciudadanos de Colombia que requieran ingresar a los aplicativos del Ministerio. 5. USUARIOS Usuarios finales de l componente de Seguridad de SISPRO: Entidades autorizadas 4 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: VERSIÓN: SEG 2.1 FECHA: 2016-09-23 Funcionarios del Ministerio de Salud y Protección Social con perfil autorizado Ciudadanos Usuarios externos que consumen servicios de Seguridad: Aplicativo SAT Aplicativo Plan Decenal Aplicativo SIDAM Aplicativo Misional de Minsalud Se controlan en el sistema por IP pública del servidor donde están alojadas las aplicaciones 6. NORMATIVA Y OTROS DOCUMENTOS EXTERNOS La normativa y otros documentos externos asociados a este manual se pueden encontrar en el sitio web del SISPRO web.sispro.gov.co en la zona de Documentación SISPRO, Preguntas y Normatividad. 7. DEFINICIONES SISPRO: Sistema Integral de Información de la Protección Social DV: Digito de Verificación Tipo de Identificación: corresponde al tipo desidentificación de personas naturales y jurídicas. Los tipos de identificación se pueden consultar en tablas de referencia de SISPRO. A continuación, se presentan algunos tipos de identificación de entidades: - DE: Tipo de identificación usado para las Direcciones Territoriales Departamentales que reportan al SISPRO - DI: Tipo de identificación usado para las Direcciones Territoriales Distritales que reportan al SISPRO - MU: Tipo de identificación usado para las Direcciones Territoriales Municipales que reportan al SISPRO - EF: Tipo de identificación usado para entidades financieras Código Súper financiera - NI: Tipo de identificación NIT - OP: Tipo de identificación usado para Operador Pila que reportan al SISPRO Tipo de Entidad: Hace referencia al tipo de entidad y es usado para registrar una entidad en el SISPRO - AFP: Pensiones - APC: Administradora Planes Complementarios - ARL: Administradora de Riesgos Laborales - CCF: Caja de Compensación Familiar 5 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: - VERSIÓN: SEG 2.1 FECHA: 2016-09-23 COL: Colegio responsable del registro de Talento Humano Salud DTS: Dirección Territorial de Salud EFI: Entidad Financiera EPS: Empresa Promotora de Salud ICBF: Instituto Colombiano de Bienestar Familiar IPS: Institución Prestadora de Servicios de Salud LAB: Laboratorio MAY: Mayorista OPE: Operador Pila REF: País de Referencia SAT: Sistema de Afiliación Transaccional que ofrece servicios mediante el portal www.miseguridadsocial.gov.co SENA: Sena Tribunal Ético Disciplinario USR Entidad Usuaria: Son entidades que están registradas con el fin de realizar consultas y hacer seguimiento; sin embargo, algunas de estas reportan información según convenios que existan con el Ministerio, como las siguientes: - Contraloría Departamento Nacional de Planeación - DNP Instituto Nacional de Vigilancia de Medicamentos y Alimentos- INVIMA Instituto de Evaluación Tecnológica en Saludo - IETS Ministerio de Comercio, Industria y Turismo Ministerio de Hacienda y Crédito Público Ministerio de Salud y Protección Social Ministerio de Educación Nacional Procuraduría General de la Nación Superintendencia Nacional de Salud Superintendencia de Industria y Comercio UT Nuevo FOSYGA - Los tipos de entidad se pueden consultar en tablas de referencia de SISPRO. APLICATIVOS MISIONALES: Sistemas de información misionales del Ministerio que hacen parte del SISPRO, como los siguientes: - COC - Compra de cartera - PET - Sistema de Información de Planes Financieros de Entes Territoriales - PISIS - Plataforma de Integración del SISPRO - SEG - Seguridad del SISPRO 6 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: - VERSIÓN: SEG 2.1 FECHA: 2016-09-23 SISMED - Sistema de Información de Precios de Medicamentos SISPRO-Transversal - Aplicación Transversal- Directorio General: Sistema que contiene información y funcionalidades transversales o comunes a varios aplicativos misionales del SISPRO SISSUB - Sistema de Régimen Subsidiado de Salud RETHUS: Talento Humano en Salud RIPS: Sistema de Información de Reporte de IPS SAC: Sistema de Saneamiento de Cartera Circular 30 AppAT: Aplicativos misionales que corresponden a anexos técnicos, como por ejemplo Carta de Derechos y Deberes, Servicios Negados. USUARIO: persona natural que se registra en el sistema de seguridad como ciudadano a través de www.miseguridadsocial.gov.co y obtiene un login y clave para ingresar a los sistemas del Ministerio. USUARIO INSTITUCIONAL: es un usuario que está vinculado con una empresa, quien puede ingresar a los aplicativos misionales que le sean habilitados en representación de su empresa. LOGIN: es el código de usuario asignado por el sistema para ingresar, está compuesto por el tipo de identificación y el número de identificación de la persona. 7 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: VERSIÓN: SEG 2.1 FECHA: 2016-09-23 8. PROYECTOS DE LA SOLUCION DE SEGURIDAD Se presenta la estructura de la solución en TFS, donde se enumeran los proyectos que contiene SEGURIDAD: Solución / proyecto en TFS Solución en TFS *Proyecto de Base de Datos *Proyecto de Base de Datos(Virtual) *Proyecto de Base de Datos *Proyecto de Servicios *Proyecto de Presentacion *Proyecto dePresentacion *Proyecto de Pruebas Nombre MPS.SISPRO.SEGURIDAD.sln /DB /DBEvolucion /DBInteroperaEvolucion /Servicios/ /Presentacion/MPS.SISPRO.Seguridad.AdministradorWeb /Presentacion/MPS.SISPRO.Seguridad.ClienteWeb /Puebas/devweb.sispro.gov.co_Seguridad.Servicios.Tests 8 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: VERSIÓN: SEG 2.1 FECHA: 2016-09-23 9. SERVICIOS WEB DE SEGURIDAD Los servicios de Seguridad se disponen para Enrolar usuarios, el cual es consumido por el sistema SAT – miseguridadsocial.gov.co. También se dispone un servicio para autenticar usuarios el cual es consumido por las aplicaciones misionales del Ministerio incluido las aplicaciones de PISISyAPP, SAT, PTS y los demás que lo requieran. 9.1 Web Service de Enrolar Persona El servicio EnrolarPersona opera en http://web.sispro.gov.co/Seguridad/Servicios/EnrolarPersonas.svc. Soporta el método CrearActualizarPersona que recibe como único parámetro una instancia de la clase Persona utilizada para crear o actualizar los datos del usuario correspondiente. Para dicho parámetro se utilizan en particular las siguientes propiedades (a cada una opcionalmente aplica una o varias validaciones, en caso de no superarla se lanza una excepción que incluye un código específico): Propiedad CorreoElectronico Long. máx (string) 150 DomicilioPaisCodigo 100 OrigenEnrolarMotivoActivarInact ivarUsuario OrigenEnrolarIdentificadorUnico OrigenEnrolarActivarUsuario 100 DomicilioDepartamentoCodigo DomicilioMunicipioCodigo DomicilioCiudad DomicilioTelefonoCelular DomicilioTelefonoFijo FechaFallecido Identificacion.Tipo.Codigo Identificacion.Numero 50 bool 100 100 100 20 20 datetime 2 20 Validaciones / si no es correcto excepción con código Requerido, formato valido: SEG-0001 Correo usado por otro usuario: SEG-0020 Requerido, debe figurar en la tabla de referencia de países: SEG-0006 Requerido: SEG-0013 Valor por defecto SAT pues es de su uso exclusivo Si DomicilioPaisCodigo es 170 departamento y municipio deben figurar en las tablas de referencia correspondientes a Colombia. Departamento invalido: SEG-0003 Municipio invalido: SEG-0005 Si DomicilioPaisCodigo es diferente de 170 DomicilioCiudad es requerido: SEG-0002 Formato valido Celular: SEG-0007 Formato valido Fijo: SEG-0019 Debe estar diligenciado al menos uno: SEG-0008 No puede ser fecha futura o mínima default: SEG-0009 Requerido, debe figurar en la tabla de referencia TipoIDCCCETICDPA: SEG-0010 Requerido, formato valido: SEG-0011 9 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: Propiedad Identificacion.FechaExpedicion ReiniciarContrasena PrimerNombre PrimerApellido SegundoNombre SegundoApellido SEG Long. máx (string) datetime bool? 60 60 60 60 VERSIÓN: 2.1 FECHA: 2016-09-23 Validaciones / si no es correcto excepción con código Formato Valido: SEG-18 Expresión regular:LetrasMayusculasMinusculasDigitosGuionMedio Requerido, no puede ser fecha futura o mínima default: SEG0012 Permite Null Requerido: SEG-0014 Requerido: SEG-0016 Formato valido: SEG-0015 validación desactivada Formato valido: SEG-0017 validación desactivada El servicio actualmente solo atiende únicamente a las IP autorizadas indicadas por el Grupo SAT. La propiedad ReiniciarContrasena indica al servicio si además de actualizar los datos del usuario debe hacer que el usuario cambie su contraseña. Por defecto su valor es null lo cual tiene el mismo efecto de asignar true y esto es que haga que el usuario deba cambiar la contraseña, si es false no hace que sea necesario dicho cambio. Si el usuario es nuevo (no estaba previamente registrado) no importa el valor asignado a ReiniciarContrasena pues se hace que deba cambiar su contraseña por ser usuario nuevo. 9.2 Web Service de Autenticar Usuario El servicio AutenticarUsuario opera en http://web.sispro.gov.co/Seguridad/Servicios/AutenticarUsuario.svc. Soporta los siguientes métodos de Autenticar, CambiarContraseña y RecordarContraseña, los cuales usan como parámetro una instancia de la clase Usuario utilizada para enviar los parámetros que corresponden a cada método. Para dicho parámetro se utilizan en particular las siguientes propiedades (a cada una opcionalmente aplica una o varias validaciones, en caso de no superarla se lanza una excepción que incluye un código específico). 9.2.1 Método Autenticar Usa los siguientes parámetros de la clase Usuario: Propiedad Persona.Identificacion.Tipo Persona.Identificacion.Numero Usuario.Clave Long. máx (string) 2 20 44 Validaciones / si no es correcto excepción con código Requerido. Requerido. Requerido. Clave encriptada en SHA 256 Parametros de salida: 10 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: SEG VERSIÓN: 2.1 FECHA: 2016-09-23 o CodigoRespuesta: o 00: Autenticacion Exitosa o En caso de que la autenticación no sea exitosa se devuelve uno de los siguientes códigos de acuerdo con las políticas de seguridad del sistema: 01, 02, 03, 07, 04, 05, 06 o NULL con la excepción del sistema. A continuación la lista del significado de cada uno de los códigos a fin de que el sistema que consume este web service pueda retroalimentar al usuario: Codigos de Respuesta en Autenticar 01: Login de usuario no existe 02: Usuario no Activo, se puede activar mediante actualización de datos en SAT, si solo si SAT actualiza el indicador de Persona no fallecida. 03: Usuario bloquedo y enrolado por SAT, se puede desbloquear mediante recuperar contraseña. 07: Usuario bloquedo y no enrolado por SAT, se puede desbloquear mediante actualización de datos en SAT. 04: Usuario NO esta en SHA256, se soluciona con Cambio de clave en SISPRO Web, o con Recuperar Contraseña (en SISPRO Web o Consumiendo Web Service de SISPRO), o mediante actualización de datos en SAT. 05: Usuario requiere cambio de contraseña por reinicio o por caducidad 06: Contraseña esta en SHA 256 pero no coincide. 9.2.2 Método CambiarContraseña Es responsabilidad de SAT o quien consume el servicio que la nueva contraseña cumpla con las políticas de contraseña (expresión regular usada actualmente en SISPRO ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$ ). El método usa los siguientes parámetros de la clase Usuario: Propiedad Persona.Identificacion.Tipo Persona.Identificacion.Numero Usuario.Clave Usuario.NuevaClave Long. máx (string) 2 20 44 44 Validaciones / si no es correcto excepción con código Requerido. Requerido. Requerido. Clave Actual encriptada en SHA 256 Requerido. Clave Nueva encriptada en SHA 256 Parametros de salida: o CodigoRespuesta: o 00: Cambio de Clave Exitoso o En caso de que el cambio de clave no sea exitoso se devuelve uno de los siguientes códigos de acuerdo con las políticas de seguridad del sistema: 01, 02, 03, 07, 04, 06, 08 o NULL con la excepción del sistema. 11 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: SEG VERSIÓN: 2.1 FECHA: 2016-09-23 A continuación la lista del significado de cada uno de los códigos a fin de que el sistema que consume este web service pueda retroalimentar al usuario: Codigos de Respuesta para Actualizar Contraseña 01: Login de usuario no existe 02: Usuario no Activo, se puede activar mediante actualización de datos en SAT, si solo si SAT actualiza el indicador de Persona no fallecida. 03: Usuario bloquedo y enrolado por SAT, se puede desbloquear mediante recuperar contraseña. 07: Usuario bloquedo y no enrolado por SAT, se puede desbloquear mediante actualización de datos en SAT. 04: Clave registrada NO está en SHA256, se soluciona con Cambio de clave en SISPRO Web, o con Recuperar Contraseña (en SISPRO Web o Consumiendo Web Service de SISPRO), o mediante actualización de datos en SAT. 06: Contraseña incorrecta (no coincide con la contraseña almacenada en BD - SHA 256) 08: Rechazado por Contraseña repetida en historico de contraseñas. 9.2.3 Método RecordarContraseña El método usa los siguientes parámetros de la clase Usuario: Propiedad Persona.Identificacion.Tipo Persona.Identificacion.Numero Usuario.CorreoElectronico Long. máx (string) 2 20 150 Validaciones / si no es correcto excepción con código Requerido. Requerido. Requerido. Correo electrónico personal. Parametros de salida: o CodigoRespuesta: o 00: Operación de Recordar Contraseña Exitoso o En caso de que la operación de Recordar Contraseña no sea exitoso se devuelve uno de los siguientes códigos de acuerdo con las políticas de seguridad del sistema: 01, 02, 03, 04, 05, 06, 07 o NULL con la excepción del sistema. A continuación la lista del significado de cada uno de los códigos a fin de que el sistema que consume este web service pueda retroalimentar al usuario: Codigos de Respuesta para Recordar Contraseña 01: Login no existe 10: Correo electrónico personal del usuario no corresponde al login 12 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: SEG VERSIÓN: 2.1 FECHA: 2016-09-23 9.2.4 Método Autorizar con Perfil El método está disponible para ser consumido por aplicativos que mediante este servicio requieran autorizar usuarios para ingresar a un sistema y obtener los perfiles de los usuarios institucionales en dicha aplicación; tiene como pre-requisito que la aplicación esté registrada en Seguridad SISPRO, tenga definidos los perfiles y el usuario institucional tenga asignado un perfil de la aplicación. El método usa los siguientes parámetros de la clase Usuario: Propiedad Persona.Identificacion.Tipo Persona.Identificacion.Numero Usuario.Clave Aplicación Long. máx (string) 2 20 44 5 Validaciones / si no es correcto excepción con código Requerido. Requerido. Requerido. Clave Actual encriptada en SHA 256 Requerido. Parámetros de salida: o En caso de que la operación de Autorizar no sea exitosa se devuelve uno de los siguientes códigos de acuerdo con las políticas de seguridad del sistema: Codigos de Respuesta para Autorizar 01: Login de usuario no existe 02: Usuario no Activo, se puede activar mediante actualización de datos en SAT, si solo si SAT actualiza el indicador de Persona no fallecida. 03: Usuario bloquedo y enrolado por SAT, se puede desbloquear mediante recuperar contraseña. 04: Clave registrada NO está en SHA256, se soluciona con Cambio de clave en SISPRO Web, o con Recuperar Contraseña (en SISPRO Web o Consumiendo Web Service de SISPRO), o mediante actualización de datos en SAT 07: Usuario bloqueado y no enrolado por SAT, se puede desbloquear mediante actualización de datos en SAT. 06: Contraseña incorrecta (no coincide con la contraseña almacenada en BD – SHA 256) 15: Autenticación correcta y Aplicación no registrada. 16: Autenticación correcta y Aplicación no habilitada para Autorización. 17: Autenticación correcta y el usuario no está vinculado con ninguna entidad 18: Autenticación correcta y el usuario institucional no tiene perfil en la aplicación NULL y la excepción del sistema 13 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: SEG VERSIÓN: 2.1 FECHA: 2016-09-23 Si la autenticación y autorización son correctas, se devuelve la información institucional del usuario y el perfil dentro de la aplicación: o Objeto(JSON) el cual puede ser serializado con la clase(UserPerfilesXApp): public class UserPerfilesXApp { public string TipoIDUsuario { set; get; } public string NroIDUsuario { set; get; } public string EmailIntitucionalUsuario { set; get; } public string EntidadTipoID { set; get; } public string EntidadNroID { set; get; } public string EntidadEmail { set; get; } public List<string> EntidadTipos { set; get; } public string AplicacionCodigo { get; set; } public string AplicacionNombre { get; set; } public string PerfilCodigo { get; set; } public string PerfilNombre { get; set; } public ?List<string> URLs { set; get; } } Ejemplo: Petición: [{"Clave":"XXXXXXXXXXXXXXXXXXXXXXX","Login":"CCXXXXXXX","App":{"24"},] Respuesta: [{"AplicacionCodigo":"24","AplicacionNombre":"SAC-Saneamiento Cartera Circular 30","EmailIntitucionalUsuario":"xxxxx@minsalud.gov.co","EntidadEmail ":"emailEntidad@minsalud.gov.co","EntidadNroID":"2","EntidadTipoID": "EP","EntidadTipos":["USR"],"NroIDUsuario":"xxxxxxx","PerfilCodigo": "187","PerfilNombre":"SACSuperUsuario","TipoIDUsuario":"CC"}, {"AplicacionCodigo":"24","AplicacionNombre":"SAC-Saneamiento Cartera Circular30","EmailIntitucionalUsuario":"xxxx2@minsalud.gov.co","Enti dadEmail":"emailEntidad2@minsalud.gov.co","EntidadNroID":"890100100" ,"EntidadTipoID":"NI","EntidadTipos":["IPS"],"NroIDUsuario":"xxxxxxx 14 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: SEG VERSIÓN: 2.1 FECHA: 2016-09-23 ","PerfilCodigo":"165","PerfilNombre":"SACxIPS","TipoIDUsuario":"CC" }] Serialización: public void AutorizarGetPerfiles() { string resultado; string TipoId = "CC"; string NroId = "XXXXXXX"; string Password = "XXXXX12345"; int Aplicacion = 24; Persona pPersona = new Persona() { Identificacion = new Identificacion(TipoId, NroId) }; Usuario pUsuario = new Usuario() { Persona = pPersona, Clave = TextHelper.EncryptSHA256(Password) }; resultado = Call_ AutorizarGetPerfiles (pUsuario, Aplicacion); List<UserPerfilesXApp> resulLsit = DeSerializeJSON <List<UserPerfilesXApp>>(resultado); Assert.IsTrue(resulLsit != null); } 9.2.5 Método Autorizar El método está disponible para ser consumido por aplicativos que mediante este servicio requieran autorizar usuarios para ingresar a un sistema, obtener los perfiles de los usuarios institucionales en dicha aplicación y las URL a las cuales el usuario tiene acceso; tiene como pre-requisito que la aplicación esté registrada en Seguridad SISPRO, tenga definidos los perfiles y los permisos de cada perfil con su respectiva URL y el usuario institucional tenga asignado un perfil de la aplicación. El método usa los siguientes parámetros de la clase Usuario: 15 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: Propiedad Persona.Identificacion.Tipo Persona.Identificacion.Numero Usuario.Clave Aplicación SEG Long. máx (string) 2 20 44 5 VERSIÓN: 2.1 FECHA: 2016-09-23 Validaciones / si no es correcto excepción con código Requerido. Requerido. Requerido. Clave Actual encriptada en SHA 256 Requerido. Parámetros de salida: o En caso de que la operación de Autorizar no sea exitoso se devuelve uno de los siguientes códigos de acuerdo con las políticas de seguridad del sistema: Codigos de Respuesta para Autorizar 01: Login de usuario no existe 02: Usuario no Activo, se puede activar mediante actualización de datos en SAT, si solo si SAT actualiza el indicador de Persona no fallecida. 03: Usuario bloquedo y enrolado por SAT, se puede desbloquear mediante recuperar contraseña. 04: Clave registrada NO está en SHA256, se soluciona con Cambio de clave en SISPRO Web, o con Recuperar Contraseña (en SISPRO Web o Consumiendo Web Service de SISPRO), o mediante actualización de datos en SAT 07: Usuario bloqueado y no enrolado por SAT, se puede desbloquear mediante actualización de datos en SAT. 06: Contraseña incorrecta (no coincide con la contraseña almacenada en BD – SHA 256) 15: Autenticación correcta y Aplicación no registrada. 16: Autenticación correcta y Aplicación no habilitada para Autorización. 17: Autenticación correcta y En usuario no está vinculado con ninguna entidad 18: Autenticación correcta y El usuario institucional no tiene perfil en la aplicación NULL y la excepción del sistema Si la autenticación y autorización son correctas, se devuelve la información institucional del usuario, el perfil dentro de la aplicación y las URL a las cuales tiene acceso el usuario: o Objeto(JSON) el cual puede ser serializado con la clase(UserPerfilesXApp): public class UserPerfilesXApp { public string TipoIDUsuario { set; get; } public string NroIDUsuario { set; get; } public string EmailIntitucionalUsuario { set; get; } public string EntidadTipoID { set; get; } public string EntidadNroID { set; get; } 16 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: SEG VERSIÓN: 2.1 FECHA: 2016-09-23 public string EntidadEmail { set; get; } public List<string> EntidadTipos { set; get; } public string AplicacionCodigo { get; set; } public string AplicacionNombre { get; set; } public string PerfilCodigo { get; set; } public string PerfilNombre { get; set; } public ?List<string> URLs { set; get; } } Ejemplo: Petición: [{"Clave":"XXXXXXXXXXXXXXXXXXXXXXX","Login":"CCXXXXXXX","App":{"24"},] Respuesta: [{"AplicacionCodigo":"24","AplicacionNombre":"SAC-Saneamiento Cartera Circular 30","EmailIntitucionalUsuario":"xxxxx@minsalud.gov.co","EntidadEmail ":"emailEntidad@minsalud.gov.co","EntidadNroID":"2","EntidadTipoID": "EP","EntidadTipos":["USR"],"NroIDUsuario":"xxxxxxx","PerfilCodigo": "187","PerfilNombre":"SACSuperUsuario","TipoIDUsuario":"CC"}, {"AplicacionCodigo":"24","AplicacionNombre":"SAC-Saneamiento Cartera Circular30","EmailIntitucionalUsuario":"xxxx2@minsalud.gov.co","Enti dadEmail":"emailEntidad2@minsalud.gov.co","EntidadNroID":"890100100" ,"EntidadTipoID":"NI","EntidadTipos":["IPS"],"NroIDUsuario":"xxxxxxx ","PerfilCodigo":"165","PerfilNombre":"SACxIPS","TipoIDUsuario":"CC" }] Serialización: public void Autorizar() { string resultado; string TipoId = "CC"; string NroId = "XXXXXXX"; string Password = "XXXXX12345"; int Aplicacion = 24; Persona pPersona = new Persona() { 17 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014)) MANUAL DEL SERVICIOS WEB DE COMPONENTE DE SEGURIDAD DEL SISPRO CÓDIGO: SEG VERSIÓN: 2.1 FECHA: 2016-09-23 Identificacion = new Identificacion(TipoId, NroId) }; Usuario pUsuario = new Usuario() { Persona = pPersona, Clave = TextHelper.EncryptSHA256(Password) }; resultado = Call_ Autorizar (pUsuario, Aplicacion); List<UserPerfilesXApp> resulLsit = DeSerializeJSON <List<UserPerfilesXApp>>(resultado); Assert.IsTrue(resulLsit != null); } 18 SIG-F04 VERSIÓN 2 (28 de Noviembre del 2014))