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

Đã đóng Phù hợp với người mới
#311 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
85/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
markdown
Lĩnh vực
documentation

Hướng nghiên cứu

Trước tiên, hãy đọc tài liệu hiện có về email người dùng và bảo mật trong content/4.api/. Sau đó, ghi lại phần xác nhận, thông báo về địa chỉ cũ, yêu cầu mật khẩu, endpoint gửi lại và ghi chú nâng cấp về thay đổi phá vỡ tính tương thích. Sử dụng các đường dẫn API và tên cấu hình đã được tài liệu hóa, đồng thời chỉ kiểm tra user_change_email_notice.html.twig và NewEmailAddressType như ngữ cảnh được tham chiếu. Công việc hoàn tất khi người đọc có thể hiểu toàn bộ quy trình thay đổi email và hành vi mật khẩu bắt buộc từ tài liệu đã cập nhật.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.
Ngôn ngữ chính
TypeScript
Star
0
Fork
0
Merge trung bình
1 giờ 20 phút
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của components-web-app/docs

Tất cả issue của components-web-app/docs

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.