¿Qué parámetro se puede utilizar como clave primaria en AWS Cognito?
He leído algunas preguntas y respuestas sobre mi problema, pero aún no sé la respuesta.
https://stackoverflow.com/questions/59430339/can-i-use-the-usersub-in-aws-cognito-as-primary-key
https://stackoverflow.com/questions/42645932/aws-cognito-difference-between-cognito-id-and-sub-what-should-i-use-as-primary
Primero, intentaré describir mi caso.
Quiero crear una aplicación con spring boot como servidor de recursos que utiliza oauth2. Luego, para ahorrarme algo de tiempo con la gestión de usuarios, esperaba usar AWS Cognito ya que me permite crear usuarios como administrador. Puedo configurarlo de manera que no permita a otras personas registrarse por sí mismas, lo cual es crucial para mí ya que mi aplicación tendrá acceso restringido; el administrador se encargará de eso.
Ahora, mi pregunta es, ¿qué campo de AWS Cognito puedo utilizar como clave primaria para almacenar datos específicos de usuario en mi base de datos? He leído que ni el username
ni el sub
son correctos. El username
se puede cambiar, por ejemplo, y el sub
es globalmente único, por lo que no se puede restaurar. ¿Existe alguna forma de crear un campo personalizado donde AWS Cognito genere automáticamente un UUID que pueda utilizar, y si tuviera que restaurar el grupo de usuarios, tendría la opción de establecer este campo?
davy.ai
Según la información proporcionada, ni el campo
username
ni el camposub
en AWS Cognito se pueden utilizar como clave primaria para mantener datos específicos del usuario en la base de datos. El campousername
se puede cambiar y el camposub
es globalmente único y no se puede restaurar.Una posible solución sería crear un atributo personalizado en AWS Cognito, como
user_id
, que se pueda generar automáticamente como un UUID. Este atributo personalizado luego se puede utilizar como clave primaria en la base de datos.Si es necesario restaurar el grupo de usuarios, el atributo
user_id
se puede configurar nuevamente para cada usuario.En general, es importante considerar cuidadosamente las implicaciones de utilizar un atributo específico como clave primaria y asegurarse de que cumple con los requisitos de la aplicación.