Document the email change flow: confirm from the new address, notice to the old, current password required

Abierto Apto para principiantes
#311 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
85/100
Tipo de issue
Documentación
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
markdown

Línea de trabajo

Lee primero la documentación existente sobre el correo electrónico del usuario y la seguridad bajo content/4.api/. Después, documenta la confirmación, el aviso sobre la dirección anterior, el requisito de contraseña, el endpoint de reenvío y la nota de actualización por el cambio incompatible. Usa las rutas de API y los nombres de configuración documentados y revisa user_change_email_notice.html.twig y NewEmailAddressType únicamente como contexto referenciado. El trabajo estará terminado cuando un lector pueda comprender el flujo completo de cambio de correo electrónico y el comportamiento de contraseñarequired a partir de la documentación actualizada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

API bundle PR: https://github.com/components-web-app/api-components-bundle/pull/580 (issue components-web-app/api-components-bundle#571).

What to document (content/4.api/, user emails / security):

  • An email change sends the confirmation link to the new address. Confirming (/confirm-email/{username}/{newEmail}/{token}) swaps emailAddress and marks it verified.
  • A notice goes to the current address when the change is requested. It shows the new address masked (n***@example.com) and carries no link. Configure it at silverback_api_components.user.emails.change_email_notice (enabled, subject, default "Your email address is being changed"). The template is user_change_email_notice.html.twig with the masked_new_email_address context variable.
  • Setting newEmailAddress needs oldPassword, the signed-in user's current password, on API writes (PATCH/PUT) and in the NewEmailAddressType form, which now has an oldPassword field. A super admin editing another user enters their own password. Cancelling (newEmailAddress: null or '') needs none.
  • /resend-verify-new-email/{username} resends the confirmation to the new address, throttled by new_email_confirmation.repeat_ttl_seconds.
  • Upgrade note (Breaking in the next alpha): any custom change-email form must send oldPassword.
Lenguaje dominante
TypeScript
Estrellas
0
Forks
0
Merge medio
1 h 20 min
PR fusionados (30 d)
1

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de components-web-app/docs

Todos los issues de components-web-app/docs

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.