Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Add Optional Two-Factor Authentication (2FA) for User Accounts

Abierto
#422 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
ruby

Línea de trabajo

Empieza localizando la configuración de cuenta existente, el flujo de autenticación y la tabla de usuarios descritos en la issue. Revisa cómo encajarían rotp y rqrcode en esos puntos de entrada y, después, verifica que la 2FA opcional, el inicio de sesión con TOTP, los secretos seguros y la recuperación mediante códigos de respaldo cumplan los criterios de aceptación indicados.

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

Descripción

Requirements Incomplete

To improve account security, we should add optional two-factor authentication (2FA) for users. This will allow users to enable 2FA via TOTP (e.g., Google Authenticator, Authy) in their account settings, but not require it for all users.

Requirements:

  • Users can enable or disable 2FA from their account settings.
  • When enabled, users must scan a QR code with an authenticator app to set up 2FA.
  • On login, if 2FA is enabled, users must enter a valid TOTP code after password authentication.
  • Users should be able to generate and view backup codes for account recovery.
  • Store TOTP secrets and backup codes securely.
  • UI/UX for enabling/disabling 2FA, entering codes, and managing backup codes.

Technical Notes:

  • Use the rotp gem for TOTP generation/validation.
  • Use the rqrcode gem to generate QR codes.
  • Add otp_secret and otp_backup_codes columns to the users table.
  • Update authentication flow to require TOTP code if 2FA is enabled.

Acceptance Criteria:

  • Users can opt in/out of 2FA.
  • 2FA is enforced only for users who have enabled it.
  • Backup codes are available and can be regenerated.
  • All sensitive data is handled securely.
Lenguaje dominante
Ruby
Estrellas
16
Forks
11
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

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 rubyforgood/skillrx

Todos los issues de rubyforgood/skillrx

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.