Este proyecto es una aplicación ASP.NET Core 8 que proporciona características de identidad y autenticación. Incluye una implementación para la interfaz IEmailSender utilizando SendGrid , plantillas de proveedores de inicio de sesión externos, propiedades personalizadas para ApplicationUser , Generación de código QR para 2FA y registro estructurado con Serilog . La aplicación está diseñada para ser fácil de configurar y ejecutar, con una base de datos SQLite , por lo que no se requiere una configuración de base de datos adicional.
Este proyecto comienza con el código de Boilerplate para la identidad de ASP.NET Core e incluye implementaciones personalizadas para varias características:
SendGrid integrado para enviar correos electrónicos de confirmación y correos electrónicos de restablecimiento de contraseña.Microsoft , Google , Facebook y Twitter .ApplicationUser .QRCoder .Serilog para registro.A continuación se presentan algunas capturas de pantalla que muestran las diversas características del proyecto. Estas imágenes proporcionan una visión de la funcionalidad y la interfaz de usuario, lo que le permite ver lo que ofrece el proyecto antes de descargarlo y ejecutarlo.


Para habilitar el remitente de correo electrónico y los proveedores de inicio de sesión externos, deberá configurar lo siguiente:
Tecla API de SendGrid:
Regístrese para obtener una cuenta SendGrid y obtenga una clave API. Luego, agregue su clave SendGrid API en appsettings.json :
"EmailSettings" : {
"ApiKey" : " YourSendGridApiKey " ,
"FromAddress" : " [email protected] " ,
"FromName" : " Your Name "
}Proveedores de inicio de sesión externos:
Para usar opciones de inicio de sesión externas (Microsoft, Google, Facebook, Twitter), debe registrar su aplicación con estos proveedores y obtener las credenciales necesarias. Agregue estas credenciales en appsettings.json :
"AuthSettings" : {
"Microsoft" : {
"Key" : " YourMicrosoftClientId " ,
"Secret" : " YourMicrosoftClientSecret "
},
"Google" : {
"Key" : " YourGoogleClientId " ,
"Secret" : " YourGoogleClientSecret "
},
"Facebook" : {
"Key" : " YourFacebookAppId " ,
"Secret" : " YourFacebookAppSecret "
},
"Twitter" : {
"Key" : " YourTwitterConsumerKey " ,
"Secret" : " YourTwitterConsumerSecret "
}
}Para obtener más detalles sobre cómo configurar estos proveedores, consulte este artículo.