Repositorio de Liberty[8.5.5.4 o posterior]

Configuración de un cliente de OpenID Connect en el perfil Liberty

Puede configurar un servidor de perfiles Liberty para que funcione como un cliente de OpenID Connect, o una parte dependiente, para aprovechar las ventajas del inicio de sesión único web y utilizar un proveedor de OpenID Connect como un proveedor de identidades.

Acerca de esta tarea

Puede configurar un servidor de perfiles Liberty para actuar como un cliente de OpenID Connect habilitando la característica openidConnectClient-1.0 del perfil Liberty, además de otra información de configuración.

Procedimiento

  1. Añada la característica de Liberty openidConnectClient-1.0 y otras características necesarias al archivo server.xml. La característica ssl-1.0 también es necesaria para la característica openidConnectClient-1.0. Añada la siguiente declaración del elemento dentro del elemento featureManager en el archivo server.xml:
    <feature>openidConnectClient-1.0</feature> 	
    <feature>ssl-1.0</feature>
  2. Configure un elemento openidConnectClient. A continuación, se muestra un ejemplo de una configuración mínima que funciona con el proveedor de OpenID Connect del servidor de perfiles Liberty predeterminado.

    El cliente debe tener disponible una aplicación configurada correctamente en el patrón de URL especificado, que pueda manejar las solicitudes de redirección desde un proveedor de OpenID Connect. Este URL también debe coincidir precisamente con el URL de redirección registrado para el cliente con el OP.

    Nota: En este ejemplo, el cliente espera que el puerto SSL del OP se establezca en 443.
    <openidConnectClient id="client01" 		
        clientId="client01" 		
        clientSecret="{xor}LDo8LTor" 		
        authorizationEndpointUrl="https://server.example.com:443/oidc/endpoint/OidcConfigSample/authorize" 		
        tokenEndpointUrl="https://server.example.com:443/oidc/endpoint/OidcConfigSample/token"> 	
    </openidConnectClient>
    En esta configuración mínima de ejemplo, se suponen los siguientes valores predeterminados:
    • scope=openid profile: el ámbito de openid es necesario y puede utilizar el atributo scope para editar los ámbitos necesarios. Por ejemplo, puede cambiar el atributo scope necesarios por openid profile email.
    • Esta RP registra su URL de redirección con el OP como https://<host name>:<ssl port>/oidcclient/redirect/client01, donde el nombre de host y el puerto SSL se resuelven automáticamente, y client01 es el ID del elemento de configuración openidConnectClient. Si hay un proxy delante de la RP, puede alterar temporalmente el nombre de host y el puerto con el atributo redirectToRPHostAndPort, y establecer redirectToRPHostAndPort en https://<host name>:<ssl port>.
  3. Configure un registro de usuario. Las identidades de usuario que devuelve el OP no están correlacionadas con un usuario del registro de forma predeterminada, por lo que no es necesario configurar usuarios en el registro. No obstante, si el atributo mapIdentityToRegistryUser del elemento openidConnectClient se establece en true, debe haber una entrada de usuario para la identidad correspondiente que se devuelve del OP para que la autenticación y la autorización sean satisfactorias. Para obtener más información sobre la configuración de un registro de usuarios, consulte Configuración de un registro de usuarios para el perfil Liberty.
  4. Configure el almacén de confianza del servidor para que incluya los certificados de firmante de los proveedores de OpenID Connect que están soportados. Para obtener más información sobre los almacenes de claves, consulte Habilitación de la comunicación SSL para el perfil Liberty.
  5. Modifique la configuración SSL del servidor para que utilice el almacén de confianza configurado.
    <sslDefault sslRef="DefaultSSLSettings" /> 
    <ssl id="DefaultSSLSettings" keyStoreRef="myKeyStore" trustStoreRef="myTrustStore" /> 	
    <keyStore id="myKeyStore" password="{xor}EzY9Oi0rJg==" type="jks" location="${server.config.dir}/resources/security/BasicKeyStore.jks" /> 	
    <keyStore id="myTrustStore" password="{xor}EzY9Oi0rJg==" type="jks" location="${server.config.dir}/resources/security/BasicTrustStore.jks" />

    OpenID Connect se ha configurado para utilizar la configuración SSL predeterminada especificada por el servidor. Por lo tanto, la configuración SSL predeterminada del servidor debe utilizar el almacén de confianza que se ha configurado para OpenID Connect.

  6. [8.5.5.5 o posterior]Opcional: configure un proveedor de OpenID Connect de terceros.

    Para configurar el cliente de OpenID Connect de Liberty para que utilice un proveedor de OpenID Connect de terceros como, por ejemplo, Microsoft Azure o Google, debe configurar los siguientes atributos. Los valores de atributo pueden obtenerse invocando el punto final de descubrimiento del OP, que proporciona un documento JSON en la vía de acceso formada concatenando la serie /.well-known/openid-configuration con el emisor.

    1. Establezca el atributo jwkEndpointUrl en el URL del documento JWK del conjunto de claves web JSON del OP que se ha definido como jwks_uri en el archivo de descubrimiento. Por ejemplo, para utilizar el OP de Google, puede establecer jwkEndpointUrl = "https://www.googleapis.com/oauth2/v2/certs".
    2. Establezca el atributo issuerIdentifier en issuer, tal como se define en el archivo de descubrimiento. Un ID de señal que no contenga este valor como una reclamación iss se rechazará. Por ejemplo, puede establecer issuerIdentifier="accounts.google.com" si está utilizando Google como su OP.
    3. Establezca signatureAlgorithm="RS256". El algoritmo de firma predeterminado del cliente de OpenID Connect de Liberty es HS256.
    4. Establezca el atributo userIdentityToCreateSubject en un nombre de reclamación utilizado por la señal de ID del proveedor que representa el identificador exclusivo de un usuario. Por ejemplo, puede establecer userIdentityToCreateSubject ="email" si está utilizando el OP de Google, y userIdentityToCreateSubject ="upn" o userIdentityToCreateSubject ="unique_name" si está utilizando Microsoft Azure.
    5. Establezca el atributo groupIdentifier en el nombre de reclamación que representa los roles o pertenencias de grupo del usuario. Por ejemplo, puede establecer groupIdentifier="groups" si está utilizando Microsoft Azure.

    Para ver más opciones de configuración del cliente de OpenID Connect, consulte Elementos de configuración en el archivo server.xml.

  7. [8.5.5.5 o posterior]Opcional: filtro de autenticación.

    Cuando la característica openidConnectClient-1.0 está habilitada y el elemento openidConnectClient no está configurado con un atributo authFilterRef, cualquier solicitud no autenticada se autentica mediante el proveedor de OpenID Connect.

    Para obtener más información sobre la configuración del filtro de autenticación, consulte Repositorio de Liberty[8.5.5.5 o posterior]Filtros de autenticación.

  8. Soporte a varios proveedores de OpenID Connect.

    Puede configurar el perfil Liberty como OpenID Connect Relying Party en varios OpenID Connect Providers creando varios elementos openidConnectClient y varios filtros de autenticación. Cada elemento openidConnectClient define una relación de inicio de sesión único con un proveedor de OpenID Connect y utiliza el atributo authFilterRef para hacer referencia a un filtro de autenticación.

Resultados

Ahora, ha establecido la configuración mínima que se necesita para configurar un servidor de perfiles Liberty como un cliente de OpenID Connect capaz de comunicarse con otros servidores de perfiles Liberty configurados como proveedores de OpenID Connect.

Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_oidc_rp
Nombre de archivo:twlp_config_oidc_rp.html