

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de un proveedor OIDC como IdP de grupo de identidades
<a name="open-id"></a>

[OpenID Connect](http://openid.net/connect/) es un estándar abierto de autenticación compatible con varios proveedores de inicio de sesión. Con Amazon Cognito puede vincular identidades con los proveedores OpenID Connect que configura mediante [AWS Identity and Access Management](https://aws.amazon.com/iam/).

**Adición de un proveedor OpenID Connect**

Para obtener más información acerca de cómo crear un proveedor de OpenID Connect, consulte [Creación de proveedores de identidades de OpenID Connect (OIDC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc.html) en la *Guía del usuario de AWS Identity and Access Management *.

**Asociación de un proveedor con Amazon Cognito**

**Para agregar un proveedor de identidades (IdP) de OIDC**

1. Elija **Grupos de identidades** en la [consola de Amazon Cognito](https://console.aws.amazon.com/cognito/home). Seleccione un grupo de identidades.

1. Elija la pestaña **Acceso de usuario**.

1. Seleccione **Agregar proveedor de identidades**.

1. Elija **OpenID Connect (OIDC)**.

1. Elija un **proveedor de identidad OIDC del IAM de su**. IdPs Cuenta de AWS Si desea agregar un nuevo proveedor de SAML, elija **Crear nuevo proveedor** para navegar hasta la consola de IAM.

1. Para establecer el rol que Amazon Cognito solicita cuando emite credenciales a los usuarios que se han autenticado con este proveedor, configure **Configuración del rol**.

   1. Puede asignar a los usuarios de ese IdP el **Rol predeterminado** que configuró al configurar el **Rol autenticado** o puede **Elegir el rol con reglas**.

     1. Si ha seleccionado **Elegir un rol con reglas**, introduzca la **Reclamación** de origen de la autenticación del usuario, el **Operador** que desea usar para comparar la reclamación, el **Valor** que hará que coincida con esta elección de rol y el **Rol** que desea asignar cuando la **Asignación de roles** coincida. Seleccione **Agregar otra** para crear una regla adicional en función de una condición diferente.

     1. Elija una **Resolución de rol**. Cuando las reclamaciones del usuario no coinciden con las reglas, puede denegar las credenciales o emitir credenciales para el **Rol autenticado**.

1. Para cambiar las etiquetas de la entidad principal que Amazon Cognito asigna cuando emite credenciales a los usuarios que se han autenticado con este proveedor, configure **Atributos para el control de acceso**.

   1. Para no aplicar ninguna etiqueta de entidad principal, elija **Inactivo**.

   1. Para aplicar etiquetas de entidades principales en función de las reclamaciones `sub` y `aud`, elija **Usar mapeos predeterminados**.

   1. Para crear su propio esquema personalizado de atributos para las etiquetas de la entidades principales, elija **Usar mapeos personalizados**. A continuación, ingrese una **Clave de etiqueta** que desee obtener de cada **Reclamación** que desee representar en una etiqueta.

1. Seleccione **Guardar cambios**.

Puede asociar varios proveedores OpenID Connect a un único grupo de identidades.

**Uso de OpenID Connect**

Consulte la documentación de su proveedor para averiguar cómo iniciar sesión y recibir un token de ID.

Una vez que tenga el token, añádalo a la asignación de inicios de sesión. Utilice el URI de su proveedor como clave.

**Validación de un token de OpenID Connect**

En la primera integración con Amazon Cognito puede que reciba una excepción `InvalidToken`. Es importante entender cómo Amazon Cognito valida los tokens de OpenID Connect (OIDC).

**nota**  
Como se especifica aquí ([https://tools.ietf.org/html/rfc7523](https://tools.ietf.org/html/rfc7523)), Amazon Cognito ofrece un período de gracia de 5 minutos para gestionar cualquier desviación del reloj entre sistemas.

1. El parámetro `iss` debe coincidir con la clave que utiliza la asignación de inicios de sesión (por ejemplo, login.provider.com).

1. La firma debe ser válida. Debe poder verificarse mediante una clave pública RSA.
**nota**  
Los grupos de identidades mantienen una memoria caché de la clave de firma del IdP OIDC durante un breve período. Si el proveedor cambia su clave de firma, Amazon Cognito podría devolver un error `NoKeyFound` hasta que se actualice la memoria caché. Si ocurre este error, espere unos diez minutos hasta que su grupo de identidades actualice la clave de firma.

1. La huella digital de la clave pública del certificado coincide con la huella digital que estableció en IAM cuando creó su proveedor OIDC.

1. Si el `azp` parámetro está presente, compare este valor con el cliente que aparece en la lista de su proveedor de OIDC. IDs 

1. Si el `azp` parámetro no está presente, compruébelo con el `aud` cliente que figura IDs en la lista de su proveedor de OIDC.

El sitio web [jwt.io](http://jwt.io/) es un recurso valioso que puede usar para descodificar tokens para verificar estos valores.

## Android
<a name="set-up-open-id-1.android"></a>

```
Map<String, String> logins = new HashMap<String, String>();
logins.put("login.provider.com", token);
credentialsProvider.setLogins(logins);
```

## iOS - Objective-C
<a name="set-up-open-id-1.ios-objc"></a>

```
credentialsProvider.logins = @{ "login.provider.com": token }
```

## JavaScript
<a name="set-up-open-id-1.javascript"></a>

```
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
 IdentityPoolId: 'IDENTITY_POOL_ID',
 Logins: {
    'login.provider.com': token
 }
});
```