Résultats de recherche :

×

Authentification unique (SSO) SAML ASP.NET Core avec ADFS en tant qu'IDP


Authentification unique (SSO) ASP.NET Core SAML Le middleware donne la possibilité d'activer l'authentification unique SAML pour vos applications principales 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 principaux ASP.NET. Notre middleware est compatible avec tous les fournisseurs d'identité conformes à SAML. Ici, nous allons passer en revue un guide étape par étape pour configurer l'authentification unique (SSO) entre ASP.NET Core et ADFS en considérant ADFS comme IdP. Pour en savoir plus sur les fonctionnalités que nous proposons pour ASP.NET Core SSO, cliquez sur ici.

Prise en charge de la plateforme: Le middleware ASP.NET Core SAML prend en charge ASP.NET Core 2.0 et supérieur. Il prend en charge toutes les plates-formes ASP.NET Core, notamment Windows, Linux et macOS.

Pré-requis : téléchargement et installation


PM> NuGet\Install-Package miniOrange.SAML.SSO
        
using Microsoft.AspNetCore.Authentication.Cookies; using miniOrange.saml; var builder = WebApplication.CreateBuilder(args); builder.Services.AddRazorPages(); // Add authentication services builder.Services.AddControllersWithViews(); builder.Services.AddAuthentication(options =>  { options.DefaultAuthenticateScheme = "SSO_OR_Admin"; options.DefaultScheme = "SSO_OR_Admin"; options.DefaultChallengeScheme = "SSO_OR_Admin";  }) .AddCookie("moAdmin", options =>  {  }) .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options =>  { // Configure cookie options as needed for SSO Users }) .AddPolicyScheme("SSO_OR_Admin", "SSO_OR_Admin", options => { // runs on each request options.ForwardDefaultSelector = context => { // filter by auth type, here if the moAdmin cookie is coming in any request the Admin Authentication will work foreach (var cookie in context.Request.Cookies) { if (cookie.Key.Contains(".AspNetCore.Cookies")) { return CookieAuthenticationDefaults.AuthenticationScheme; } } // otherwise always check for cookie auth return "moAdmin"; }; }); var app = builder.Build(); if (!app.Environment.IsDevelopment())  {     app.UseExceptionHandler("/Error");     app.UseHsts();  } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.UseCookiePolicy(); app.UseAuthentication(); app.UseStaticFiles(); app.UseminiOrangeSAMLSSOMiddleware(); app.Run();

Étapes pour configurer l’authentification unique (SSO) ASP.NET Core à l’aide d’ADFS comme IDP

1. Ajouter un middleware sur l'application ASP.NET Core

  • Après l'intégration, ouvrez votre navigateur et parcourez le tableau de bord du middleware avec l'URL ci-dessous :
    https://<asp-net-middleware-base-url>/?ssoaction=config
  • Si la page d'inscription ou la page de connexion apparaît, vous avez ajouté avec succès le middleware miniOrange ASP.NET SAML SSO à votre application.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - registre saml dll
  • Inscrivez-vous ou connectez-vous avec votre compte en cliquant sur le Inscription bouton pour configurer le middleware.

2. Configurez ADFS en tant que fournisseur d'identité

  • En vertu des Normes sur l’information et les communications, les organismes doivent rendre leurs sites et applications Web accessibles. Ils y parviennent en conformant leurs sites Web au niveau AA des Web Content Accessibility Guidelines (WCAG). Paramètres Plugin onglet, sélectionnez ADFS comme fournisseur d'identité dans la liste affichée.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Sélectionnez ADFS comme fournisseur d'identité

Il existe deux manières détaillées ci-dessous de configurer les métadonnées SAML SP du côté de votre fournisseur d'identité.

A] Utilisation d'une URL de métadonnées SAML ou d'un fichier de métadonnées :
  • Dans le Menu Paramètres du plugin, chercher Paramètres du fournisseur de services. En dessous, vous pouvez trouver l'URL des métadonnées ainsi que la possibilité de télécharger les métadonnées SAML.
  • Copiez l'URL des métadonnées ou téléchargez le fichier de métadonnées pour configurer la même chose du côté de votre fournisseur d'identité.
  • Vous pouvez vous référer à la capture d'écran ci-dessous :
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Copier les métadonnées téléchargées
B] Téléchargement manuel des métadonnées :
  • Extrait du Paramètres du fournisseur de services section, vous pouvez copier manuellement les métadonnées du fournisseur de services comme ID d'entité SP, URL ACS, URL de déconnexion unique et partagez-le avec votre fournisseur d'identité pour la configuration.
  • Vous pouvez vous référer à la capture d'écran ci-dessous :
  • Authentification unique (SSO) SAML ASP.NET Core utilisant ADFS comme IDP - Métadonnées manuelles
  • Tout d'abord, recherchez Gestion ADFS application sur votre serveur ADFS.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - serveur adfs
  • Dans Gestion AD FS, sélectionnez Confiance de la partie de confiance et cliquez sur Ajouter une approbation de partie de confiance.
  • Authentification unique (SSO) SAML ASP.NET Core utilisant ADFS comme IDP - Ajouter une approbation de partie de confiance
  • Sélectionnez Revendications conscientes à partir de l'assistant de confiance de partie de confiance et cliquez sur Accueil .
  • Authentification unique (SSO) SAML ASP.NET Core utilisant ADFS comme IDP - Claims Aware
img Sélectionnez la source de données
  • Dans Sélectionner une source de données, sélectionnez la source de données pour ajouter une approbation de partie de confiance.

  • Accédez à Métadonnées du fournisseur de services section du middleware ASP.NET Core SAML et copiez le URL de métadonnées.
  • Sélectionnez Importer des données sur la partie utilisatrice publiées en ligne ou sur le réseau local et ajoutez l’URL des métadonnées dans l’adresse des métadonnées de la fédération.
  • Cliquez sur Suivant.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - prise en charge des métadonnées de l'assistant SAML 2.0

    Remarque: À l'étape suivante, entrez le nom souhaité Nom du profil et cliquez sur Suivant.

img Choisissez la politique de contrôle d'accès
  • Sélectionnez Autoriser tout le monde comme politique de contrôle d'accès et cliquez sur Suivant.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - pour SAML 2.0 Wizard Multi-Factor
img Prêt à ajouter de la confiance
  • In Prêt à ajouter de la confiance cliquez sur Suivant et alors Fermer.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - SAML 2.0 Wizard Edit Claim
img Modifier la politique d'émission des réclamations
  • Dans la liste des Confiance de la partie de confiance, sélectionnez l'application que vous avez créée et cliquez sur Modifier la politique d'émission de réclamation.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - SAML 2.0 Wizard Edit Claim
  • Dans l'onglet Règle de transformation d'émission, cliquez sur Ajouter une règle .
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - pour la règle de réclamation de l'assistant SAML 2.0
img Choisissez le type de règle
  • Sélectionnez Envoyer des attributs LDAP en tant que revendications et cliquez sur Suivant.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - pour les attributs SAML 2.0 Configure_LDAP
img Configurer la règle de réclamation
  • Ajouter un Nom de la règle de revendication et sélectionnez le Magasin d'attributs comme requis dans la liste déroulante.
  • Sous Mappage des attributs LDAP aux types de réclamations sortantes, Sélectionnez Attribut LDAP comme Adresses mail et type de réclamation sortante comme Nom ID.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - pour la règle de réclamation d'ajout de transformation SAML 2.0
  • Une fois les attributs configurés, cliquez sur Finition.
  • Après avoir configuré ADFS en tant qu'IDP, vous aurez besoin du Métadonnées de la Fédération pour configurer votre fournisseur de services.
  • Pour obtenir les métadonnées de la fédération ADFS, vous pouvez utiliser cette URL
    https://< ADFS_Server_Name >/federationmetadata/2007-06/federationmetadata.xml
  • Vous avez configuré avec succès ADFS en tant qu'IdP SAML (fournisseur d'identité) pour réaliser la connexion à authentification unique (SSO) ADFS.

SSO Windows (facultatif)

Suivez les étapes ci-dessous pour configurer Windows SSO

img Étapes pour configurer ADFS pour l'authentification Windows
  • Ouvrez l'invite de commande élevée sur le serveur ADFS et exécutez la commande suivante :
    • img setspn -a HTTP/##FQDN du serveur ADFS## ##Compte de service de domaine##

      img Le FQDN est un nom de domaine complet (Exemple : adfs4.example.com)

      img Le compte de service de domaine est le nom d'utilisateur du compte dans AD.

      img Exemple : setspn -a HTTP/adfs.example.com nom d'utilisateur/domaine

  • Ouvrez la console de gestion AD FS, cliquez sur Services et allez au Méthodes d'authentification section. A droite, cliquez sur Modifier les méthodes d'authentification principales. Vérifiez l'authentification Windows dans la zone Intranet.
  • Authentification unique (SSO) SAML ASP.NET Core utilisant ADFS comme IDP - Authentification principale ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Application de gestion
  • Ouvrez Internet Explorer. Accédez à l'onglet Sécurité dans les Options Internet.
  • Ajoutez le nom de domaine complet d'AD FS à la liste des sites dans l'intranet local et redémarrez le navigateur.
  • Sélectionnez Niveau personnalisé pour la zone de sécurité. Dans la liste des options, sélectionnez Connexion automatique uniquement dans la zone Intranet.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - pour SAML 2.0 Wizard_Enable SAML
  • Ouvrez le PowerShell et exécutez les deux commandes suivantes pour activer l'authentification Windows dans le navigateur Chrome.
    •   Set-AdfsProperties -WIASupportedUserAgents ((Get-ADFSProperties | Select -ExpandProperty WIASupportedUserAgents) + "Chrome")
        Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents;
  • Vous avez configuré avec succès ADFS pour l’authentification Windows.

3. Configurer le middleware ASP.NET SAML en tant que fournisseur de services

Il existe deux manières détaillées ci-dessous de configurer les métadonnées de votre fournisseur d'identité SAML dans le middleware.

A] Téléchargez les métadonnées à l'aide du bouton Télécharger les métadonnées IDP :
  • Si votre fournisseur d'identité vous a fourni l'URL ou le fichier de métadonnées (format .xml uniquement), vous pouvez simplement configurer les métadonnées du fournisseur d'identité dans le middleware à l'aide de l'option Télécharger les métadonnées IDP option.
  • Vous pouvez vous référer à la capture d'écran ci-dessous :
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Télécharger des métadonnées
  • Vous pouvez choisir l’une des options en fonction du format de métadonnées dont vous disposez.
B] Configurez manuellement les métadonnées du fournisseur d'identité :
  • Après avoir configuré votre Fournisseur d'identité, il vous fournira ID d'entité IDP, URL d'authentification unique IDP ainsi que le Certificat SAML X509 champs respectivement.
  • Cliquez Épargnez pour enregistrer vos informations IDP.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Configuration de la DLL SAML

4. Test de l'authentification unique SAML

  • Cliquez sur le Configuration du test pour tester si la configuration SAML que vous avez effectuée est correcte.
  • La capture d'écran ci-dessous montre un résultat réussi. Cliquer sur Intégration SSO pour poursuivre l'intégration SSO.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Configuration de test SAML dll
  • Si vous rencontrez une erreur du côté du middleware, une fenêtre similaire à celle ci-dessous s'affichera.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Activer les journaux de débogage
  • Pour résoudre l'erreur, vous pouvez suivre les étapes ci-dessous :
    • Sous Résolution des problèmes , activez la bascule pour recevoir les journaux du plugin.
    • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Activer les journaux de débogage
    • Une fois activé, vous pourrez récupérer les journaux du plugin en accédant à Paramètres Plugin onglet et en cliquant sur Configuration du test.
    • Télécharger fichier journal du Résolution des problèmes onglet pour voir ce qui n'a pas fonctionné.
    • Vous pouvez partager le fichier journal avec nous à aspnetsupport@xecurify.com et notre équipe vous contactera pour résoudre votre problème.

5. Cartographie des attributs

  • Après avoir testé la configuration, mappez les attributs de votre application avec les attributs du fournisseur d'identité (IdP).
  • Remarque: Tous les attributs mappés seront stockés dans la session afin que vous puissiez y accéder dans votre application.
  • ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - mappage d'attributs

6. Code d'intégration

  • Ces étapes vous permettent de récupérer les informations utilisateur SSO dans votre application sous la forme de revendications utilisateur.
  • Vous pouvez également regarder le visite d'installation pour comprendre comment l'intégration SSO fonctionnerait dans votre application middleware asp.net.
  • Copiez-collez simplement cet extrait de code là où vous souhaitez accéder aux attributs utilisateur.
  • Authentification unique (SSO) SAML ASP.NET Core | Authentification ASP.NET Core | ASP.NET Core SAML SSO - code d'intégration
  • Remarque:Ce middleware d'essai prend uniquement en charge les informations utilisateur dans les réclamations. La récupération des informations utilisateur en session et en-têtes est disponible dans le plugin premium.
  • Vous pouvez également copier le code d'intégration ci-dessous :
  •           
      string name="";   string claimtype="";   string claimvalue="";    if(User.Identity.IsAuthenticated)    {      foreach( var claim in User.Claims)      {        claimtype = claim.Type;        claimvalue = claim.Value;      }      //retrive custom attributes(for eg. Retrieve Mapped 'mobileNumber' attribute of your IDP)      var identity = (ClaimsIdentity)User.Identity;      IEnumerable claims = identity.Claims;      string mobileNumber = identity.FindFirst("mobileNumber")?.Value;    }
  • Remarque: Tous les attributs mappés seront stockés dans les revendications accessibles dans votre application.
  • Si vous souhaitez de l'aide concernant le code d'intégration, contactez-nous à aspnetsupport@xecurify.com

7. Paramètres de connexion

  • Survolez Sélectionner des actions et cliquez sur Copier le lien SSO. ASP.NET Core SAML Single Sign-On (SSO) utilisant ADFS comme IDP - Copier le lien SSO
  • Utilisez l'URL suivante comme lien dans l'application à partir de laquelle vous souhaitez effectuer le SSO :
    https://asp-net-middleware-base-url/?ssoaction=login
  • Par exemple, vous pouvez l'utiliser comme :
    <a href=”https://asp-net-middleware-base-url/?ssoaction=login”>Log in</a>

8. Paramètres de déconnexion

  • Utilisez l'URL suivante comme lien vers votre application à partir de laquelle vous souhaitez effectuer un SLO :
    https://asp-net-middleware-base-url/?ssoaction=logout
  • Par exemple, vous pouvez l'utiliser comme :
    <a href=”https://asp-net-middleware-base-url/?ssoaction=logout”>Log out</a>

Vous pouvez configurer le middleware d'authentification unique (SSO) ASP.NET Core 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 le vôtre fournisseur d'identité personnalisé. Consultez la liste des fournisseurs d'identité ici.

Ressources additionnelles


Besoin d'aide?

Vous ne parvenez pas à trouver votre fournisseur d'identité ? Envoyez-nous un mail à aspnetsupport@xecurify.com et nous vous aiderons à configurer le SSO avec votre IDP et pour des conseils rapides (par e-mail/réunion) sur vos besoins et notre équipe vous aidera à sélectionner la solution/le plan le mieux adapté à vos besoins.

Bonjour!

Besoin d'aide? Nous sommes ici !

Support
Contacter l'assistance miniOrange
succès

Merci pour votre demande.

Si vous n'avez pas de nouvelles de nous dans les 24 heures, n'hésitez pas à envoyer un e-mail de suivi à info@xecurify.com