Résultats de recherche :

×

Authentification unique (SSO) DNN SAML avec Shibboleth comme IDP


Authentification unique DNN SAML (SSO) Le module donne la possibilité d'activer l'authentification unique SAML pour vos applications DotNetNuke. Grâce à l'authentification unique, vous ne pouvez utiliser qu'un seul mot de passe pour accéder à votre application et à vos services DotNetNuke. Notre module est compatible avec tous les logiciels compatibles SAML fournisseurs d'identité. Ici, nous allons passer en revue un guide étape par étape pour configurer l'authentification unique (SSO) entre DotNetNuke et Shibboleth en considérant Shibboleth comme IdP.

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

  • Télécharger le package pour le module DNN SAML Single Sign-On (SSO).
  • Téléchargez le package d'installation dnn-saml-single-sign-on_xxx_Install en entrant Paramètres > Extension > Installer l'extension.

Étapes pour configurer l'authentification unique DNN (SSO) à l'aide de Shibboleth comme IDP

1. Ajouter un module sur la page DNN

  • Ouvrez n'importe quelle page de votre site DNN (mode édition) et cliquez sur Ajouter un module.
  • Authentification unique DNN SAML (SSO) utilisant Shibboleth comme IDP - Ajouter un module
  • Rechercher DNNSAMLSO et cliquez sur DNNSAMLSSO. Faites glisser et déposez le module sur la page où vous le souhaitez.
  • DNN SAML Single Sign-On (SSO) utilisant Shibboleth comme IDP - Module de recherche
  • Vous avez terminé l'installation du module sur votre site DNN.

2. Configurer Shibboleth en tant que fournisseur d'identité

  • Sélectionnez votre fournisseur d'identité Schibboleth dans la liste ci-dessous.
  • DNN SAML Single Sign-On (SSO) utilisant Shibboleth comme IDP - Module de recherche
  • 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 :
    • Sous Paramètres du fournisseur de services, 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 :
    • Authentification unique (SSO) DNN SAML utilisant Shibboleth comme IDP - Copier les métadonnées téléchargées
    B] Téléchargement manuel des métadonnées :
    • 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 du fournisseur de services section, vous pouvez copier manuellement les métadonnées du fournisseur de services comme URL de base, ID d'entité SP, URL ACS 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) DNN SAML utilisant Shibboleth comme IDP - Métadonnées manuelles
  • Dans conf/idp.properties, décommentez et définissez « idp.encryption.optional » sur true.
       par exemple. idp.encryption.optional = vrai
  • In conf/metadata-providers.xml, configurez le fournisseur de services comme ceci
  •     <MetadataProvider xmlns:samlmd="urn:oasis:
    names:tc:SAML:2.0:metadata"
      id="miniOrangeInLineEntity" xsi:type="InlineMetadata
    Provider" sortKey="1">
      <samlmd:EntityDescriptor ID="entity" entityID="<SP-EntityID /
    Issuer from Service Provider Info tab in plugin.>
    "
        validUntil="2020-09-06T04:13:32Z">
        <samlmd:SPSSODescriptor AuthnRequests
    Signed="false" WantAssertionsSigned="true"
        protocolSupportEnumeration="urn:oasis:names:
    tc:SAML:2.0:protocol">
          <samlmd:NameIDFormat>
            urn:oasis:names:tc:SAML:
    1.1:nameid-format:emailAddress
          </samlmd:NameIDFormat>
        <samlmd:AssertionConsumerService Binding="urn:oasis:names:tc:
    SAML:2.0:bindings:HTTP-POST"
        Location="<ACS (AssertionConsumerService) URL from
    Step1 of the plugin under Identity Provider Tab.>"
          index="1" />

        </samlmd:SPSSODescriptor>
        </samlmd:EntityDescriptor>
    </MetadataProvider>
  • In conf/saml-nameid.properties, décommentez et définissez la valeur par défaut NomID as Adresse e-mail comme ça
  •     idp.nameid.saml2.default=urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
          
  • In conf/saml-nameid-xml, recherchez shibboleth.SAML2NameIDGenerators. Décommentez le bean shibboleth.SAML2AttributeSourcedGenerator et commentez tous les autres beans ref
  •     <!-- SAML 2 NameID Generation --> 
    <util:list id="shibboleth.SAML2NameIDGenerators">
      <!--<ref bean="shibboleth.SAML2TransientGenerator" /> -->
      <!-->ref bean="shibboleth.SAML2PersistentGenerator" /> -->
      <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
      p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
      p:attributeSourceIds="#{ {'email'} }" />
    </util:list>
  • Assurez-vous d'avoir défini AttributeDefinition dans conf/attribut-resolver.xml.
  •     <!-- Note: AttributeDefinitionid must be same as what
    you provided in attributeSourceIds in conf/saml-nameid.xml -->
    <resolver:AttributeDefinitionxsi:type="ad:Simple"
    id="email" sourceAttributeID="mail">
      <resolver:Dependency ref="ldapConnector" />
      <resolver:AttributeEncoderxsi:type="enc:SAML2String"
    name="email" friendlyName="email" />
    </resolver:AttributeDefinition >

    <resolver:DataConnector id="ldapConnector"
    xsi:type="dc:LDAPDirectory" ldapURL="%{idp.authn.LDAP.ldapURL}"
      baseDN="%{idp.authn.LDAP.baseDN}"
    principal="%{idp.authn.LDAP.bindDN}"
      principalCredential="%{idp.authn.LDAP.bindDNCredential}">
      <dc:FilterTemplate>
        <!-- Define you User Search Filter here -->
        <![CDATA[ (&(objectclass=*)
    (cn=$requestContext.principalName)) ]]>
      </dc:FilterTemplate>

      <dc:ReturnAttributes>*</dc:ReturnAttributes>
    </resolver:DataConnector>
  • Assurez-vous que AttributeFilterPolicy est défini dans conf/attribut-filter.xml.
  •     <afp:AttributeFilterPolicy id="ldapAttributes"> 
    <afp:PolicyRequirementRulexsi:type="basic:ANY"/>
      <afp:AttributeRuleattributeID="email">
        <afp:PermitValueRulexsi:type="basic:ANY"/>
      </afp:AttributeRule>
    </afp:AttributeFilterPolicy>
  • Redémarrez le serveur Shibboleth.
  • Vous devez configurer ces points de terminaison dans le plugin miniOrange SAML.
  • ID d'entité IDP https://<your_domain>/idp/shibboleth
    URL de connexion unique https://<your_domain>/idp/profile/SAML2/Redirect/SSO
    URL de déconnexion unique https://<your_domain>/idp/shibboleth
    Certificat X.509 Le certificat de clé publique de votre serveur Shibboleth

Vous avez configuré avec succès Shibboleth en tant qu'IdP SAML (fournisseur d'identité) pour réaliser la connexion Shibboleth SSO à votre site DotNetNuke (DNN).

3. Configurez le module DotNetNuke 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 module.

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 module à l'aide du Télécharger les métadonnées IDP option.
  • Vous pouvez vous référer à la capture d'écran ci-dessous :
  • Authentification unique (SSO) DNN SAML utilisant Shibboleth comme IDP – Télécharger manuellement les 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 Certificat SAML X509 champs respectivement.
  • Cliquez Mises à jour pour enregistrer vos informations IDP.
  • DNN SAML Single Sign-On (SSO) utilisant Shibboleth comme IDP - Télécharger des métadonnées

4. Test de l'authentification unique SAML

  • Cliquez Configuration du test pour vérifier si vous avez configuré correctement le plugin.
  • En cas de configuration réussie, vous obtiendrez le nom de l'attribut et les valeurs de l'attribut dans la fenêtre Configuration du test.
  • DNN SAML Single Sign-On (SSO) utilisant Shibboleth comme IDP - Résultat du test Shibboleth

5. Cartographie des attributs

  • Les attributs sont des détails utilisateur stockés dans votre fournisseur d'identité.
  • Le mappage d'attributs vous aide à obtenir les attributs utilisateur de votre IdP et à les mapper aux attributs utilisateur DotNetNuke tels que le prénom, le nom, etc.
  • Lors de l'enregistrement automatique des utilisateurs sur votre site DotNetNuke, ces attributs seront automatiquement mappés aux détails de votre utilisateur DotNetNuke.
  • Cliquez sur Paramètres DNNSAMLSSO >> Paramètres avancés >> Mappage d'attributs.
  • Authentification unique DNN SAML (SSO) utilisant Shibboleth comme IDP - Mappage d'attributs

6. Ajout d'un widget de connexion/SSO sur la page DNN

  • Pour ajouter un bouton sur la page DNN à côté des paramètres du module, cliquez sur le bouton Ajouter un item (Icône de crayon).
  • Authentification unique DNN SAML (SSO) utilisant Shibboleth comme IDP - Ajouter un bouton de connexion
  • Ajoutez le nom du bouton et cliquez sur Épargnez
  • Authentification unique (SSO) DNN SAML utilisant Shibboleth comme IDP - Bouton Enregistrer la connexion
  • Vous pouvez voir le bouton de connexion sur la page après avoir enregistré l'élément. (Si vous êtes déjà connecté à votre site, vous verrez un lien "Déconnexion").
  • Remarque: Si vous souhaitez activer ce bouton sur chaque page du site DNN, suivez les étapes ci-dessous :
  • Allez à Paramètres >> Paramètres du module >> Paramètres avancés et Activer l'option pour Module d'affichage sur toutes les pages.
  • Authentification unique (SSO) DNN SAML utilisant Shibboleth comme IDP - Paramètres du module DNN SAML Single Sign-On (SSO) utilisant Shibboleth comme IDP - Module d'affichage sur plusieurs pages
  • Mise en garde: Vous perdrez toute votre configuration pour le module après avoir activé cette option. Vous pouvez reconfigurer le module ou il est préférable d'activer cette option avant de configurer le module.

7. Cartographie des rôles (il est facultatif de le remplir)

  • DotNetNuke utilise un concept de rôles, conçu pour donner au propriétaire du site la possibilité de contrôler ce que les utilisateurs peuvent et ne peuvent pas faire sur le site.
  • DotNetNuke a cinq rôles prédéfinis : administrateurs, abonnés, utilisateurs enregistrés, traducteur (en-US) et utilisateurs non vérifiés.
  • Le mappage de rôles vous aide à attribuer des rôles spécifiques aux utilisateurs d'un certain groupe dans votre IdP.
  • Lors de l'inscription automatique, les utilisateurs se voient attribuer des rôles en fonction du groupe auquel ils sont mappés.
  • Authentification unique (SSO) DNN SAML utilisant Shibboleth comme IDP - Mappage des rôles

Vous pouvez même configurer le Authentification unique ASP.NET SAML (SSO) module 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é. Pour vérifier d'autres fournisseurs d'identité, cliquez sur ici.

Ressources additionnelles


Besoin d'aide?

Vous ne parvenez pas à trouver votre fournisseur d'identité ? Envoyez-nous un mail à dnnsupport@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