ASP.NET Core Identity
L'ASP.NET Core Identity est un système de gestion d'authentification et d'autorisation intégré dans le cadre d'application ASP.NET Core. Il est conçu pour permettre aux développeurs de gérer les utilisateurs, les rôles, les connexions, et les permissions dans les applications Web.
Voici un aperçu de ses principales caractéristiques :
- Gestion des utilisateurs : L'ASP.NET Core Identity permet de créer, lire, mettre à jour, et supprimer (CRUD) des utilisateurs dans une application. Il s'occupe de la gestion des informations d'identité telles que le nom d'utilisateur, le mot de passe, l'adresse de courriel,...
- Système de rôles : Il offre un système de rôles pour l'autorisation basée sur les rôles des utilisateurs. Cela permet de restreindre l'accès à certaines parties de l'application en fonction des rôles attribués aux utilisateurs (par exemple, Administrateur, Utilisateur standard,...).
- Authentification : ASP.NET Core Identity fournit un mécanisme pour authentifier les utilisateurs via des cookies de sécurité après une connexion réussie. L'authentification est prise en charge via différentes méthodes, notamment :
- Mot de passe
- Authentification à deux facteurs (2FA)
- Authentification via des fournisseurs externes comme Google, Facebook, Microsoft, Twitter, ou GitHub.
- Authentification par jeton pour les API sécurisées.
- Autorisation : Il prend en charge l'autorisation basée sur les rôles et les revendications (claims). Vous pouvez définir des politiques d'autorisation pour restreindre l'accès à certaines ressources en fonction de règles spécifiques.
- Entreposage et personnalisation :
- Par défaut, ASP.NET Core Identity entrepose les informations des utilisateurs et des rôles dans une base de données, généralement via Entity Framework Core.
- Cependant, vous pouvez personnaliser l'entreposage en utilisant d'autres systèmes comme des bases de données NoSQL ou un système de fichiers.
- Vous pouvez également personnaliser les champs de l'entité utilisateur en étendant la classe IdentityUser.
- Gestion des mots de passe : ASP.NET Core Identity gère le hachage sécurisé des mots de passe et propose des fonctionnalités telles que la réinitialisation de mot de passe et les règles de complexité des mots de passe (longueur, caractères spéciaux,...).
- Authentification multi-facteurs (MFA) : Il prend en charge l'authentification à deux facteurs (2FA) via des SMS, des courriels, ou des applications d'authentification (comme Google Authenticator), offrant ainsi une sécurité renforcée.
- Connexion externe et Single Sign-On (SSO) : ASP.NET Core Identity permet aux utilisateurs de se connecter à l'application à l'aide de leurs comptes existants sur des plateformes comme Google, Microsoft, Facebook, Twitter, ou d'autres fournisseurs de Single Sign-On (SSO) grâce à OAuth ou OpenID Connect.
- Support de JWT (JSON Web Tokens) : Pour les API sécurisées, ASP.NET Core Identity peut être configuré pour utiliser des JSON Web Tokens (JWT), permettant ainsi l'authentification via des jetons pour les API RESTful.
- Tokens de sécurité : Il gère des jetons de sécurité pour différentes tâches comme la confirmation de courriel, la réinitialisation de mot de passe et l'authentification à deux facteurs (2FA). Les jetons peuvent être générés, envoyés et validés facilement dans l'application.
Dernière mise à jour : Vendredi, le 6 septembre 2024