Sensibilidad de mayúsculas y minúsculas en el grupo de usuarios
Los grupos de usuarios de Amazon Cognito que crea en AWS Management Console distinguen entre mayúsculas y minúsculas de manera predeterminada. Cuando un grupo de usuarios no distingue entre mayúsculas y minúsculas, user@example.com y User@example.com hacen referencia al mismo usuario. Cuando los nombres de usuario de un grupo de usuarios no distinguen entre mayúsculas y minúsculas, los atributos preferred_username
y email
tampoco distinguen entre mayúsculas y minúsculas.
Para tener en cuenta la configuración de distinción entre mayúsculas y minúsculas del grupo de usuarios, identifique a los usuarios en el código de la aplicación en función del atributo de usuario alternativo. Porque el caso de un nombre de usuario, un nombre de usuario preferido o un atributo de dirección de correo electrónico puede variar en diferentes perfiles de usuario, se recomienda que haga referencia al atributo sub
en su lugar. También puede crear un atributo personalizado inmutable en su grupo de usuarios y asignar su propio valor de identificador único al atributo en cada nuevo perfil de usuario. Al crear un usuario por primera vez, puede escribir un valor en un atributo personalizado inmutable que haya creado.
nota
Independientemente de la configuración de distinción entre mayúsculas y minúsculas de su grupo de usuarios, Amazon Cognito requiere que un usuario federado de un proveedor de identidades (IdP) SAML u OIDC pase una única notificación NameId
o sub
única con distinción entre mayúsculas y minúsculas. Para obtener más información acerca de la distinción de mayúsculas y minúsculas en el identificador único y los IdP SAML, consulte Uso del inicio de sesión de SAML iniciado por el SP.
- Creación de un grupo de usuarios que distingue entre minúsculas y mayúsculas
-
Si crea recursos con la AWS Command Line Interface (AWS CLI) y operaciones de la API tales como CreateUserPool, deberá configurar el parámetro booleano
CaseSensitive
enfalse
. Esta configuración crea un grupo de usuarios sin distinción entre mayúsculas y minúsculas Si no especifica ningún valor, laCaseSensitive
utilizatrue
de forma predeterminada. Esto es lo contrario al comportamiento predeterminado de los grupos de usuarios que se crean en AWS Management Console. Antes del 12 de febrero de 2020, los grupos de usuarios distinguían entre mayúsculas y minúsculas de forma predeterminada, independientemente de la plataforma.Puede utilizar la pestaña Sign-in experience (Experiencia de inicio de sesión) de AWS Management Console o la operación de la API DescribeUserPool para revisar la configuración de distinción entre mayúsculas y minúsculas de cada grupo de usuarios de la cuenta.
- Migrar a un nuevo grupo de usuarios
-
Debido a los posibles conflictos entre los perfiles de usuario, no se puede cambiar un grupo de usuarios de Amazon Cognito de una configuración que distingue entre mayúsculas y minúsculas a una que no hace la distinción. En su lugar, se deben migrar los usuarios a un nuevo grupo de usuarios. Debe crear código de migración para resolver conflictos relacionados con la distinción entre mayúsculas y minúsculas. Este código debe devolver un nuevo usuario único o rechazar el intento de inicio de sesión cuando detecta un conflicto. En un nuevo grupo de usuarios que no distingue entre mayúsculas y minúsculas, asigne un Migración del desencadenador de Lambda del usuario. La función AWS Lambda puede crear usuarios en el nuevo grupo de usuarios que no distingue entre mayúsculas y minúsculas. Cuando el usuario no logra iniciar sesión con el grupo de usuarios que no distingue entre mayúsculas y minúsculas, la función de Lambda busca y duplica al usuario desde el grupo de usuarios que distingue entre mayúsculas y minúsculas. También puede activar un desencadenador Lambda para migrar usuario en los eventos ForgotPassword. Amazon Cognito transfiere información de usuario y metadatos de eventos de la acción de inicio de sesión o de recuperación de contraseña a la función Lambda. Puede utilizar los datos de eventos para administrar conflictos entre nombres de usuario y direcciones de correo electrónico cuando la función cree el nuevo usuario en el grupo de usuarios que no distingue entre mayúsculas y minúsculas. Estos conflictos se producen entre nombres de usuario y direcciones de correo electrónico que serían únicos en un grupo de usuarios que no distingue entre mayúsculas y minúsculas, pero idénticos en un grupo de usuarios que sí distingue entre mayúsculas y minúsculas.
Para obtener más información sobre cómo usar un desencadenador de Lambda para migrar usuarios entre grupos de usuarios de Amazon Cognito, consulte la entrada del blog de AWS sobre migración de usuarios a grupos de usuarios de Amazon Cognito
.