Authentification unique (SSO) ASP.NET OAuth utilisant Keycloak comme fournisseur OAuth
Le module ASP.NET OAuth Single Sign-On (SSO) permet d'activer l'authentification unique OAuth pour vos applications ASP.NET. Grâce à l'authentification unique, vous ne pouvez utiliser qu'un seul mot de passe pour accéder à votre application et à vos services ASP.NET. Notre module est compatible avec tous les fournisseurs d'identité compatibles OAuth. Ici, nous allons passer en revue un guide étape par étape pour configurer l'authentification unique (SSO) entre ASP.NET et Keycloak en tant que fournisseur OAuth.
Pour la mise en place du connecteur, extrayez le
asp-net-oauth-sso-module.zip, vous trouverez un fichier DLL
miniorange-oauth-sso.dll, un fichier de configuration
oauthsso.config , l’aspect économique intégration.md fichier qui contient les étapes d’ajout du module dans votre application.
1. Ajoutez le connecteur dans votre application
Ajouter miniorange-oauth-sso.dll dans le dossier bin (où existent vos autres fichiers DLL) pour votre application.
S'enregistrer miniorangeoauthsso module dans votre application selon les étapes fournies dans le intégration.md fichier.
Ajoutez le fichier de configuration fourni oauthsso.config dans le répertoire racine de votre application.
Après l'intégration, ouvrez le navigateur et parcourez le tableau de bord du connecteur avec l'URL ci-dessous : https:// <your-application-base-url>/?ssoaction=config
Si la page d'inscription ou la page de connexion apparaît, vous avez ajouté avec succès le connecteur sso oauth miniOrange pour votre application.
Inscrivez-vous ou Connectez-vous pour configurer le connecteur.
2. Configurer Keycloak en tant que fournisseur OAuth
Ajouter un royaume : Connectez-vous maintenant à la console d'administration keycloak et accédez au domaine souhaité. Vous pouvez ajouter un nouveau domaine en sélectionnant
Ajouter un royaume option.
Créer un royaume : Entrer Nom de domaine et conservez le nom du domaine à portée de main, car il sera nécessaire plus tard pour configurer le domaine sous le plugin ASP.NET OAuth. Cliquer sur CREATE pour ajouter un royaume.
Créez un client OpenID : Cliquez sur le
ANNONCEURS et choisissez créer des pour créer un nouveau client. Entrez l'identifiant client et sélectionnez le protocole client
openid-connecter et sélectionnez Enregistrer.
Modifier le type d'accès : Une fois le client créé, modifiez son type d'accès en confidentielles.
Saisissez des URI de redirection valides : Copier URL de rappel depuis le plugin puis cliquez sur SAUVEGARDER. Ex -- https:///oauth/rappel
Obtenez le secret client : Nous devons maintenant obtenir le secret client. Alors sélectionnez ANNONCEURS et sélectionnez les informations d'identification et copiez votre secret à partir d'ici.
Configuration du plugin : Entrez copié
Secret client sous Secret client dans le plug-in ASP.NET OAuth et entrez le Nom du client sous le champ ID client.
Ajouter un utilisateur : Nous devons ajouter des utilisateurs au royaume qui pourront accéder aux ressources du royaume. Clique sur le Utilisateurs et choisir de Ajoutez un nouvel utilisateur.
Configuration utilisateur: Une fois l’utilisateur créé, l’action suivante doit être effectuée.
1) Définir un mot de passe pour celui-ci alors cliquez sur
Titres de compétences
et définissez un nouveau mot de passe pour l'utilisateur.
REMARQUE : la désactivation de Temporaire rendra le mot de passe utilisateur permanent.
Utilisateur de la carte : Nous devons mapper l'utilisateur à un rôle. Cliquer sur
Mappages de rôles et attribuez à l'utilisateur le rôle souhaité parmi les rôles disponibles et en cliquant sur ajouter sélectionnée.
Créer un RÔLE : Le Rôle sera utilisé par vos applications pour définir quels utilisateurs seront autorisés à accéder à l'application. Clique sur le Rôles et choisissez Ajouter Rôle.
Étape 2.1 : Étapes pour récupérer les groupes Keycloak
Créer des groupes : Cliquez sur le Groupes et choisissez NOUVEAU créer un nouveau groupe.
Attribuer un utilisateur au groupe : Sélectionnez l'utilisateur que vous souhaitez ajouter au groupe. Choisissez l'option Groupes dans l'onglet, puis sélectionnez le nom du groupe et cliquez sur rejoindre.
Mappeur de groupe Keycloak : Maintenant, pour obtenir les détails du groupe, nous devons effectuer son mappage client avec l'appartenance au groupe, sinon les détails du groupe ne seront pas récupérés. Donc dans Section pour les, sélectionnez votre client puis cliquez sur mappeur->créer.
Maintenant, sélectionnez type de mappeur as Appartenance à un groupe et entrez le
nom et nom de la revendication du jeton c'est-à-dire le nom de l'attribut correspondant aux groupes qui seront récupérés. Désactivez le chemin complet du groupe, les options Ajouter au jeton d'identification et Ajouter au jeton d'accès, puis cliquez sur Enregistrer.
Remarque : -- Si le chemin complet est sur le chemin du groupe, il sera récupéré, sinon le nom du groupe sera récupéré.
Étape 2.2 : Étapes pour récupérer les rôles Keycloak
Mappeur de rôle Keycloak : Maintenant, pour obtenir les détails du rôle, nous devons effectuer son mappage client avec l'appartenance au rôle, sinon les détails du rôle ne seront pas récupérés. Donc dans Section pour les, sélectionnez votre client puis cliquez sur mappeur->créer.
Maintenant, sélectionnez type de mappeur as Rôle du domaine utilisateur Adhésion et entrez le Le nom. et nom de la revendication de jeton c'est-à-dire le nom de l'attribut correspondant aux groupes qui seront récupérés. Ajouter au jeton d'identification et Ajouter au jeton d'accès, puis cliquez sur Enregistrer.
Ajouter un royaume : Connectez-vous maintenant à la console d'administration keycloak et accédez au domaine souhaité. Vous pouvez ajouter un nouveau domaine en sélectionnant
Créer un royaume option.
Créer un royaume : Entrer Nom de domaine et conservez le nom du domaine à portée de main, car il sera nécessaire plus tard pour configurer le domaine sous le plugin client OAuth. Cliquer sur CREATE pour ajouter un royaume.
Créez un client OpenID : Cliquez sur le
ANNONCEURS et choisissez Créer un client pour créer un nouveau client. Entrez l'ID client et sélectionnez le protocole client
openid-connecter et cliquez sur Suivant.
Activez la Authentification du client et Autorisation basculer.
Faites défiler jusqu'à la Paramètres d'accès et entrez votre
URL de rappel/redirection
que vous obtiendrez de votre plugin miniOrange présent côté Client sous le URL de rappel champ de texte.
Rendez-vous dans la section Titres de compétences onglet, copiez le Secret client et gardez-le à portée de main car nous en aurons besoin plus tard lors de la configuration du plugin ASP.NET OAuth Single Sign-On.
Configuration du plugin : Entrez copié Secret client sous
Secret client dans le plug-in ASP.NET OAuth et entrez le
identité du client sous le identité du client champ.
Ajouter un utilisateur : Nous devons ajouter des utilisateurs au royaume qui pourront accéder aux ressources du royaume. Clique sur le Utilisateurs et cliquez sur
Créer un nouvel utilisateur pour ajouter un nouvel utilisateur.
Configuration utilisateur: Une fois l’utilisateur créé, l’action suivante doit être effectuée.
1) Définir un mot de passe pour celui-ci alors cliquez sur
Titres de compétences
et définissez un nouveau mot de passe pour l'utilisateur.
REMARQUE : la désactivation de Temporaire rendra le mot de passe utilisateur permanent.
Utilisateur de la carte : Nous devons mapper l'utilisateur à un rôle. Cliquer sur
Mappages de rôles et attribuez à l'utilisateur le rôle souhaité parmi les rôles disponibles.
Créer un RÔLE : Le Rôle sera utilisé par vos applications pour définir quels utilisateurs seront autorisés à accéder à l'application. Clique sur le Rôles et choisissez Créer un rôle.
3. Configurer le client OAuth miniOrange ASP.NET
Après avoir configuré votre fournisseur OAuth, il vous fournira
ID client, secret client, autoriser le point de terminaison, point de terminaison du jeton d'accès
et Obtenir le point de terminaison des informations utilisateur. Configurez ces valeurs dans les champs respectifs.
Remplissez tous les détails requis et cliquez sur Enregistrer la configuration.
4. Configuration des tests
Après avoir enregistré la configuration, cliquez sur le
Configuration du test bouton pour vérifier si vous avez configuré correctement.
En cas de configuration réussie, vous obtiendrez Nom des attributs et
Valeurs d'attribut dans la fenêtre Configuration du test. La capture d'écran ci-dessous montre un résultat réussi.
5. Cartographie des attributs
Mappez les noms d'attributs fournis par votre serveur OAuth avec les attributs de votre application ASP.NET indiqués dans la section Mappage d'attributs et cliquez sur
Enregistrer le mappage d'attributs.
À noter: Tous les attributs mappés seront stockés dans la session afin que vous puissiez y accéder dans votre application.
6. Code d'intégration
Vous pouvez trouver code d'intégration dans l'onglet Code d'intégration du connecteur. Copiez-collez simplement cet extrait de code là où vous souhaitez accéder aux attributs utilisateur.
7. Ajoutez le lien suivant dans votre demande d'authentification unique (SSO)
Utilisez l'URL suivante comme lien dans votre application à partir de laquelle vous souhaitez effectuer le SSO : http://base-url/?ssoaction=login
Par exemple, vous pouvez l'utiliser comme : <a href="http://base-url/?ssoaction=login”>Log in</a>"
Vous pouvez configurer le module d'authentification unique (SSO) ASP.NET SAML 2.0 avec n'importe quel fournisseur d'identité tel que ADFS, Azure AD, Bitium, Centrify, G Suite, JBoss Keycloak, Okta, OneLogin, Salesforce, AWS Cognito, OpenAM, Oracle, PingFederate, PingOne, RSA SecureID, Shibboleth-2, Shibboleth-3, SimpleSAML, WSO2 ou même avec votre propre fournisseur d'identité personnalisé.