# Manual para el Desarrollador El sistema Single Sign-On de la [Universidad de Huelva](http://www.uhu.es/ "http://www.uhu.es") le permite integrar aplicaciones usando el protocolo: [SAML 2.0](http://saml.xml.org/saml-specifications "http://saml.xml.org/saml-specifications") ## Atributos disponibles Un usuario autenticado en el sistema Single Sign-On de la [Universidad de Huelva](http://www.uhu.es/ "http://www.uhu.es") tiene asociado un conjunto de atributos que componen su identidad. Estos atributos siguen la recomendación [irisEduPerson](http://wiki.rediris.es/gtschema/Iriseduperson#irisEduPerson:Recomendaciones_de_atributos_para_la_aplicaci.C3.B3n_de_las_tecnolog.C3.ADas_de_directorio_en_las_universidades "http://wiki.rediris.es/gtschema/Iriseduperson#irisEduPerson:Recomendaciones_de_atributos_para_la_aplicaci.C3.B3n_de_las_tecnolog.C3.ADas_de_directorio_en_las_universidades") para la aplicación de las tecnologías de directorio en las universidades. Algunos de los atributos más usados son: ### Características personales
Nombre del atributoPosibles valoresDescripciónEjemplo
cn-Nombre y apellidos completos (en mayúsculas y sin acentos).LEANDRO PEREZ RODRIGUEZ
displayName-Nombre y apellidos completos (en mayúsculas y sin acentos).LEANDRO PEREZ RODRIGUEZ
gn-Nombre de pila de la persona (en mayúsculas y sin acentos).LEANDRO
givenName-Nombre de pila de la persona (en mayúsculas y sin acentos).LEANDRO
sn-Apellidos de la persona (en mayúsculas y sin acentos).PEREZ RODRIGUEZ
schacSn1-Primer apellido de la persona (en mayúsculas y sin acentos).PEREZ
schacSn2-Segundo apellido de la persona (en mayúsculas y sin acentos).RODRIGUEZ
schacgender0 (neutro), 1 (hombre), 2 (mujer)Sexo del usuario actual.2
### Contacto/localización
Nombre del atributoPosibles valoresDescripciónEjemplo
irismailmainaddress-Dirección de correo institucional del usuario.leandro.perez@alu.uhu.es
mail-Equivalente a *irismailmainaddress*.ueandro.perez@alu.uhu.es
organizationNameUniversidad de HuelvaNombre de la Organización.Universidad de Huelva
oUniversidad de HuelvaNombre de la Organización.Universidad de Huelva
organizationalUnitName-Unidad organizativa.Centro de Investigación Internacional en Inteligencia Territorial
ou-Unidad organizativa.Centro de Investigación Internacional en Inteligencia Territorial
### Datos laborales
Nombre del atributoPosibles valoresDescripciónEjemplo
eduPersonAffiliationfaculty, staff y studentEspecifica la vinculación del usuario con la Universidad.faculty
eduPersonPrimaryAffiliationfaculty, staff y studentEspecifica la vinculación principal del usuario con la Universidad.faculty
employeeNumber-Identificador numérico o alfanumérico que se asigna a una persona para relacionarlo a una institución. Debe ser localmente único. Se recomienda el uso del atributo *schacPersonalUniqueCode*.a3b123c12
### Identificadores de enlace
Nombre del atributoPosibles valoresDescripciónEjemplo
schacpersonaluniqueid-Especifica un “identificador legal único”.urn:mace:terena.org:schac:personalUniqueID:es:DNI:31241312L
schacPersonalUniqueCode-Especifica un valor único para la entrada a la que se asocia.urn:mace:terena.org:schac:personalUniqueCode:es:uma:estudiante:a3b123c12
uid-Según el RFC1274 este atributo especifica un nombre de usuario de una máquina.leandro.perez.alu
eduPersonPrincipalName-Un valor único en el formato formuser@domain, donde el dominio representa el dominio de seguridad del usuario y user es el ui.leandro.perez.alu@uhu.es
### Autorización/derechos de acceso
Nombre del atributoPosibles valoresDescripciónEjemplo
schacuserstatus-Usado para almacenar el conjunto de estados de una persona como usuario de los servicios de la uhu.urn:mace:terena.org:schac:userStatus:es:uma.es:getMail:active
irisUserEntitlement-Usado para almacenar el conjunto de derechos de acceso a recursos.irisUserEntitlement: urn:mace:rediris.es:uhu.es:entitlement:numExp:307000010:N:I
## Descripción y uso del servicio
### Requisitos técnicos Para integrar una aplicación en el SSO su aplicación debe cumplir los siguientes requisitos técnicos:
1.
La dirección IP del servidor en que se aloje la aplicación debe ser estática.
2.
Ser accedida mediante el protocolo https, para que las comunicaciones vayan cifradas.
Si no cumple estos requisitos no podrá solicitar la integración de su aplicación en el sistema SSO. Es fundamental que habilite la comprobación de certificados al usar cualquiera de los protocolos. Tanto el entorno de preproducción como el de producción utilizan certificados expedidos por la Fábrica Nacional de Moneda y Timbre. Puede descargar los certificados raíz para utilizarlos en las validaciones. ### Procedimiento de solicitud Cuando haya decidido que quiere integrar su aplicación en el sistema SSO, debe ponerse en contacto con nosotros. Debe indicarnos la dirección de las que obtener sus metadados así como todos los atributos solicitados para que el acceso se otorgue lo más pronto posible. Para obtener los metadados de proveedor de identidad de la UHU puede consultar la dirección [https://idp3.uhu.es/idp/saml2/idp/metadata.php](https://idp3.uhu.es/idp/saml2/idp/metadata.php "https://idp3.uhu.es/idp/saml2/idp/metadata.php") o usar el servidor de metadatos en [https://janus.uhu.es/idp/module.php/janus/metadataexport.php?id=prod\_idp](https://janus.uhu.es/idp/module.php/janus/metadataexport.php?id=prod_idp "https://janus.uhu.es/idp/module.php/janus/metadataexport.php?id=prod_idp") ### Certificados El servicio de SSO utilizan certificados firmados por TERENA y validados por la CA AddTrust AB o por la Fábrica Nacional de Moneda y Timbre. ## Software No necesita conocer a fondo los protocolos de integración en el sistema SSO para que su aplicación haga uso de él. Basta con usar alguna biblioteca de las mencionadas a continuación.
-
PHP: **[simpleSAMLphp](https://ayudame.uhu.es/info/books/manuales-sso/page/integracion-mediante-saml-2-usando-simplesamlphp "Integración mediante SAML 2 usando simpleSAMLphp")** o [OneLogin](https://www.onelogin.com/ "https://www.onelogin.com/")
-
Java: **[OpenSAML](https://wiki.shibboleth.net/confluence/display/OpenSAML/Home "https://wiki.shibboleth.net/confluence/display/OpenSAML/Home")**