es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Amplify React – Cognito: Eliminar registro de usuario en la página de inicio de sesión.

Hay una pregunta en SO Cómo eliminar el registro en la página de inicio de sesión y aborda CF. En el caso de Amplify, la plantilla CF se genera mediante backend-config.json.
json
"auth": {
"usermanager": {
"service": "Cognito",
"serviceType": "managed",
"providerPlugin": "awscloudformation",
}
}

¿Cómo configurar la plantilla de Amplify para generar una plantilla CF con propiedad?
yaml
AdminCreateUserConfig:
AllowAdminCreateUserOnly: True

Se agradecería un enlace a la referencia de la plantilla de Amplify.

Editar:
Amplify admite la anulación del contenido generado. Ejecuté amplify override auth. Generó el archivo amplify\backend\auth\myusermanager\override.ts. Hice una anulación:
“`typescript
import { AmplifyAuthCognitoStackTemplate } from ‘@aws-amplify/cli-extensibility-helper’;

export function override(resources: AmplifyAuthCognitoStackTemplate) {
resources.userPool.adminCreateUserConfig = {
allowAdminCreateUserOnly: true,
}
}

La plantilla CF generada parece estar bien
json
“Resources”: {
“UserPool”: {
“Type”: “AWS::Cognito::UserPool”,
“Properties”: {
“AdminCreateUserConfig”: {
“AllowAdminCreateUserOnly”: true
},

Independientemente de ello, el enlace Iniciar sesión está presente en la página de inicio de sesión.
Cuando reviso la política del grupo de usuarios de Cognito, encuentro seleccionado el botón de radio Solo permitir que los administradores creen usuarios.

EDICIÓN
La respuesta sugerida se relaciona con VUE. Estoy usando React.
"@aws-amplify/ui-react": "^2.1.0"

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para configurar la plantilla de Amplify y generar una plantilla de CF con la propiedad AdminCreateUserConfig: AllowAdminCreateUserOnly: true, siga los siguientes pasos:

    1. Primero, ejecute el siguiente comando en su proyecto React para reemplazar el contenido generado del componente de autenticación de Amplify:
      amplify override auth
      

      Esto generará un nuevo archivo amplify/backend/auth/myusermanager/override.ts.

    2. Abra el archivo override.ts e incluya el siguiente código para reemplazar la propiedad AdminCreateUserConfig:

      import { AmplifyAuthCognitoStackTemplate } from '@aws-amplify/cli-extensibility-helper';
      
      export function override(resources: AmplifyAuthCognitoStackTemplate) {
         resources.userPool.adminCreateUserConfig = {
             allowAdminCreateUserOnly: true,
         }
      }
      

      Este código establecerá la propiedad allowAdminCreateUserOnly de la propiedad AdminCreateUserConfig en true.

    3. Guarde el archivo override.ts y vuelva a ejecutar el comando amplify push para regenerar el stack de CloudFormation con la nueva propiedad.

      amplify push
      

      Esto actualizará el stack de CloudFormation con la nueva propiedad.

    4. Para eliminar el enlace “Registrarse” de la página de inicio de sesión, puede modificar la propiedad signInConfig en el archivo backend-config.json para incluir la propiedad hideSignUpLink:

      "auth": {
         "usermanager": {
             "service": "Cognito",
             "serviceType": "managed",
             "providerPlugin": "awscloudformation",
             "signInConfig": {
                 "signInHiddenFields": [],
                 "hideSignUpLink": true
             }
         }
      }
      

      Esto eliminará el enlace “Registrarse” de la página de inicio de sesión.

    Para obtener más información sobre la configuración del componente de autenticación de Amplify, consulte la referencia de la plantilla de Amplify oficial: https://docs.amplify.aws/cli/auth/auth-templates.

Comments are closed.