Single Sign On Web
Single Sign On Web
Single Sign On Web
Introducción
Acerca de esta guía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Propósito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Audiencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1
2
Introducción
Propósito
Esta guía tiene como objetivo proporcionar una descripción de alto nivel de la
configuración de la conexión con identificación única del usuario (Single Sign-
On - SSO) en entornos Web por sociedad mediante el uso de dominios de
autenticación.
Audiencia
Requerimientos
1
Introducción
2
Single Sign-On Web
En este capítulo se explican los diferentes procesos para llevar a cabo una
conexión con identificación única del usuario entre aplicaciones Web (Single
Sign-On Web), siendo una de las aplicaciones de Meta4.
La identificación única de usuario es un esquema que permite que una
autenticación previa realizada siguiendo un procedimiento cualquiera no tenga
que repetirse para dar acceso a otros entornos informáticos.
En la práctica implica que el usuario no tenga que volver a introducir, por
ejemplo, su usuario y contraseña para tener acceso a distintos sistemas.
La identificación única del usuario afecta a los siguientes productos de Meta4:
Aplicaciones para clientes HTML (como SSE / SSM)
PeopleNet - Rich Web
El cliente de desarrollo de Meta4 no está incluido en el sistema de conexión con identificación única
del usuario aquí propuesto.
3
Single Sign-On Web
4
Identificación unica del usuario con soporte a
dominios de autenticación
5
Single Sign-On Web
Librerías necesarias
6
Si está utilizando la componente M4WEBSSO (librería m4common.jar), deberá actualizarla
manualmente reemplazando los archivos jar existentes en su portal por los nuevos que se
suministran en el CD. Consulte las KBs QA7416 (español) o QA7415 (inglés) para obtener
instrucciones más precisas.
7
Single Sign-On Web
Función generate()
La función a invocar es el método generate () de la clase
com.meta4.common.m4credGenerateRedirectHTML:
GenerateRedirectHTML.generate(sCredential, sUsr, sLang, sBaseURL,
sServlet, sInitURI, sGotoURI);
Espera como parámetros de entrada:
La credencial generada para el usuario en la función
"GenerateM4Credential".
El nombre del usuario autenticado en el contenedor Web
El idioma para la conexión (ej. 2 para inglés, 3 para español, etc)
La URL base para el servidor Web destino en el que se encuentra instalada
la aplicación Web de Meta4 (protocolo, host, puerto)
La ruta relativa para el servlet de login (normalmente /servlet/login).
La ruta relativa (URI) para la página de inicialización de la aplicación Web.
Esta ruta puede ser nula si no existe ninguna página que deba ser
inicializada antes de llamar a la página destino.
La ruta relativa para la página destino de identificación única del usuario.
Como resultado, esta función devuelve una cadena con el contenido HTML que
debe ser enviado al navegador cliente. De ese modo el navegador efectúa una
redirección a la aplicación Web.
El mecanismo de redirección no utiliza la tecnología de cookies pero es
necesaria para mantener la sesión contra la aplicación Web de destino.
Función generate()
8
La función generate () en la clase
com.meta4.common.m4credGenerateRedirectHTMLRich se encarga de
producir el contenido HTML necesario para entrar en un entorno Rich Web.
GenerateRedirectHTMLRich.generate(sCredential, sUsr, sRole, sServer,
sLang, sUpdateURL, null, null);
Esta función espera como parámetros de entrada:
La credencial generada para el usuario en la función
"GenerateM4Credential".
El nombre del usuario autenticado en el contenedor Web.
El rol del usuario conectado para la identificación única del usuario. Si se
deja con valor "" se realiza la conexión con el rol por defecto, mientras que
si se indica valor se realiza la conexión con dicho rol.
El servidor de aplicaciones con el que se establecerá la conexión.
El idioma de conexión (ej. 2 para inglés, 3 para español, etc.).
La URL base para el servido Web en el que se encuentra el servicio de
actualizaciones (protocolo, host, puerto). Así, por ejemplo, si la URL de
entrada al Rich es: http://maquina:puerto/m4updateservices/
m4richweb.html, en este parámetro se debe indicar tan solo la siguiente
cadena: http://maquina:puerto/m4updateservices/.
El nombre de la tarea que se desea invocar. Normalmente es nulo. Así, si el
valor indicado es "", se entra en la presentación inicial del puesto cliente; en
caso contrario se ejecuta la tarea indicada y no se muestra la ventana
principal de la aplicación.
Los parámetros para la tarea. Normalmente es nulo.
Como resultado, esta función devuelve una cadena con el contenido HTML que
debe ser enviado al navegador cliente. Como resultado el navegador efectúa
una redirección a la aplicación Rich Web.
Función generateExtended()
La función generateExtended () en la clase
com.meta4.common.m4credGenerateRedirectHTMLRich se encarga de
producir el contenido HTML necesario para entrar en un entorno Rich Web,
permitiendo un comportamiento más detallado para el comportamiento de
conexión.
GenerateRedirectHTMLRich.generateExtended(sCredential, sUsr, sRole,
sServer, sLang, sUpdateURL, null, null, oExtParams);
Espera como parámetros de entrada:
La credencial generada para el usuario en la función
"GenerateM4Credential".
9
Single Sign-On Web
Ejemplos
10
Conexión con identificación única del usuario
mediante SAML
Introducción
Arquitectura y requisitos
11
Single Sign-On Web
Los pasos necesarios para configurar el filtro de SSO SAML son los siguientes
1. Crear el dominio indirecto y el archivo PKCS12 de dicho dominio.
2. Configuración del filtro en web.xml.
3. Verificar la configuración de configclient.xml.
4. Crear accesos directos por idioma.
12
Creación de dominio indirecto y archivo PKCS12
Es necesario crear un archivo PKCS12 que servirá para todos los clientes que
estén previamente autenticados por un mecanismo tipo SAML. Este archivo
residirá en el servidor Web del cliente ligero.
Creación del dominio de autenticación indirecto: cree un dominio para la
autenticación con SSO SAML desde la opción de menú Gestión de
dominios de autenticación situada en PeopleNet | Herramientas de
desarrollo | Configuración de aplicación | Dominios de autenticación.
Este dominio debe llamarse “WEBSSO_INDIRECT_DOMAIN”.
Generación del archivo de claves del dominio de autenticación: ejecute la
opción de menú PeopleNet | Herramientas de desarrollo | Configuración
de aplicación | Dominios de autenticación | Gestión de claves por
dominio y selección la acción Exportar claves a fichero (al que nos
referiremos como ca-saml.p12). Anote la contraseña con que lo ha
generado (por ejemplo changeit). Ubique el archivo en una ruta accesible al
servidor Web del SSE/SSM y anote la ruta.
Ejemplo: ruta c:\temp\ca-saml.p12 y contraseña changeit.
EJEMPLO
<filter>
<filter-name>M4WebSSOFilter</filter-name>
<filter-class>com.meta4.filters.websso.M4WebSSOFilter</filter-
class>
<init-param>
<param-name>enable</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>richwebpattern</param-name>
<param-value>^/rw</param-value>
</init-param>
<init-param>
<param-name>esspattern</param-name>
13
Single Sign-On Web
<param-value>/</param-value>
</init-param>
</filter>
14
portalport: puerto de la URL a la que redirigir en caso de que el usuario
introduzca la página de conexión.
portaldefaulturi: página a la que se redigirá en caso de que el usuario ya
estuviera conectado, y por inactividad, se le estuviera redirigiendo a la
página de conexión.
Y el caso del acceso Rich Web:
updatesurl: ruta en la que está disponible la URL de actualización.
richappserver: servidor de aplicaciones que atiende las peticiones de
autenticación. Debe coincidir con la cadena que aparece en la clave
“Server” del archivo M4WizardIn.reg (exactamente igual).
EJEMPLO
[HKEY_LOCAL_MACHINE\SOFTWARE\Meta4\Mind\3.X\Build\B7.01sp5_010\CLIENT
\Servers\RICHWEB]
"Server" = "tpbasexp.meta4.com"
"IdPort" = "3002"
"AdminPort" = "3004"
"IdSSLPort" = "3003"
"AdminSSLPort" = "3005"
Para que los usuarios accedan desde el sistema externo, habrá que crear
accesos directos. Al no haber una forma estándar de establecer una
correspondencia entre el idioma en el el sistema externo y en PeopleNet, el
idioma es un parámetro de dicho acceso directo
Usuario del portal Web en español:
https://customer.meta4globalhr.com/?langid=3
Usuario del portal Web en español que va a página concreta:
https://customer.meta4globalhr.com/servlet/CheckSecurity/JSP/tarea/
pagina.jsp?langid=3
Usuario del Rich Web en español
https://customer.meta4globalhr.com/hr?langid=3
Usuario del Rich Web por optimizador en http://websync.customer.com:
https://customer.meta4globalhr.com/hr?langid=3&updservice=http://
websync.customer.com
15