Ce projet est une application ASP.NET Core 8 qui fournit des fonctionnalités d'identité et d'authentification. Il comprend une implémentation pour l'interface IEmailSender à l'aide de SendGrid , des modèles de fournisseurs de connexion externes, des propriétés personnalisées pour ApplicationUser , la génération de code QR pour 2FA et la journalisation structurée avec Serilog . L'application est conçue pour être facile à configurer et à exécuter, avec une base de données SQLite , donc aucune configuration de base de données supplémentaire n'est requise.
Ce projet commence par le code de la plaquette pour ASP.NET Core Identity et comprend des implémentations personnalisées pour diverses fonctionnalités:
SendGrid intégré pour envoyer des e-mails de confirmation et réinitialiser les e-mails de réinitialisation.Microsoft , Google , Facebook et Twitter .ApplicationUser .QRCoder .Serilog pour la journalisation.Voici quelques captures d'écran présentant les différentes fonctionnalités du projet. Ces images donnent un aperçu de la fonctionnalité et de l'interface utilisateur, vous permettant de voir ce que le projet offre avant de le télécharger et de l'exécuter.


Pour activer l'expéditeur par e-mail et les fournisseurs de connexion externes, vous devrez configurer ce qui suit:
Clé API SendGrid:
Inscrivez-vous à un compte SendGrid et obtenez une clé API. Ensuite, ajoutez votre touche API SendGrid dans appsettings.json :
"EmailSettings" : {
"ApiKey" : " YourSendGridApiKey " ,
"FromAddress" : " [email protected] " ,
"FromName" : " Your Name "
}Fournisseurs de connexion externes:
Pour utiliser des options de connexion externes (Microsoft, Google, Facebook, Twitter), vous devez enregistrer votre application auprès de ces fournisseurs et obtenir les informations d'identification nécessaires. Ajoutez ces informations d'identification dans appsettings.json :
"AuthSettings" : {
"Microsoft" : {
"Key" : " YourMicrosoftClientId " ,
"Secret" : " YourMicrosoftClientSecret "
},
"Google" : {
"Key" : " YourGoogleClientId " ,
"Secret" : " YourGoogleClientSecret "
},
"Facebook" : {
"Key" : " YourFacebookAppId " ,
"Secret" : " YourFacebookAppSecret "
},
"Twitter" : {
"Key" : " YourTwitterConsumerKey " ,
"Secret" : " YourTwitterConsumerSecret "
}
}Pour plus de détails sur la façon de configurer ces fournisseurs, reportez-vous à cet article.