Le plugin Laravel SAML Single Sign-On (SSO) permet d'activer l'authentification unique SAML pour vos applications Laravel. Grâce à l'authentification unique, un seul mot de passe suffit pour accéder à votre application et à vos services Laravel. Notre plugin est compatible avec tous les fournisseurs d'identité conformes à la norme SAML. Ce guide vous explique étape par étape comment configurer l'authentification unique (SSO) entre Laravel et Azure B2C, en utilisant Azure B2C comme fournisseur d'identité.
Pré-requis : Téléchargement Et Installation
Étapes pour configurer la connexion Azure B2C Single Sign-On (SSO) à Laravel
1. Configurer Azure B2C en tant que fournisseur d'identité
1.1 Enregistrer les applications Azure B2C
Enregistrez l’application Identity Experience Framework
Enregistrez l’application Identity Experience Framework
- Sous Gérer, sélectionnez Exposer une API.
- Sélectionner Ajouter une portée, puis sélectionnez Enregistrer et continuez à accepter l'URI de l'ID d'application par défaut.
- Entrez les valeurs suivantes pour créer une étendue qui permet l’exécution de stratégies personnalisées dans votre locataire Azure AD B2C :
- Nom de la portée : user_usurpation d'identité
- Nom d'affichage du consentement de l'administrateur : Accéder à IdentityExperienceFramework
- Description du consentement de l'administrateur : Autorisez l’application à accéder à IdentityExperienceFramework au nom de l’utilisateur connecté.
- Sélectionner Ajouter une portée
Enregistrez l'application ProxyIdentityExperienceFramework
- Sélectionner Inscriptions d'applications, Puis sélectionnez Nouvelle inscription.
- Pour Nom, saisissez ProxyIdentityExperienceFramework.
- Sous Types de compte pris en charge, sélectionnez Comptes dans ce répertoire organisationnel uniquement.
- Sous URI de redirection, utilisez le menu déroulant pour sélectionner Client public/natif (mobile et ordinateur).
- Pour URI de redirection, saisissez myapp://auth.
- Sous Permissions, cochez la case Accorder le consentement de l'administrateur aux autorisations openid et offline_access.
- Sélectionner S'enregistrer.
- Enregistrez le ID de l'application (client) pour une utilisation ultérieure.
Précisez ensuite que l'application doit être traitée comme un client public
- Sous Gérer, sélectionnez Authentification.
- Sous paramètres avancés, activer Autoriser les flux de clients publics (sélectionnez Oui).
- Sélectionner Enregistrer.
Maintenant, accordez des autorisations à la portée de l'API que vous avez exposée précédemment lors de l'enregistrement IdentityExperienceFramework.
- Sous Gérer, sélectionnez Autorisations API.
- Sous Autorisations configurées, sélectionnez Ajouter une autorisation.
- Sélectionnez le Mes API onglet, puis sélectionnez Cadre d'expérience d'identité .
- Sous Autorisation, Sélectionnez l' user_usurpation d'identité portée que vous avez définie précédemment.
- Sélectionner Ajouter des autorisations. Comme indiqué, attendez quelques minutes avant de passer à l'étape suivante.
- Sélectionner Accordez le consentement de l'administrateur pour (nom de votre locataire).
- Sélectionnez votre compte d'administrateur actuellement connecté ou connectez-vous avec un compte dans votre locataire Azure AD B2C auquel a été attribué au moins le rôle d'administrateur d'application Cloud.
- Sélectionner Oui.
- Sélectionner Refresh, puis vérifiez que « Accordé pour... » apparaît sous Statut pour les étendues - offline_access, openid et user_impersonation. La propagation des autorisations peut prendre quelques minutes.
Enregistrez l'application WordPress
- Sélectionner Inscriptions d'applications, Puis sélectionnez Nouvelle inscription.
- Entrez un nom pour l'application tel que : WordPress.
- Sous Types de compte pris en charge, sélectionnez Comptes dans n’importe quel annuaire d’organisation ou n’importe quel fournisseur d’identité. Pour authentifier les utilisateurs avec Azure AD B2C.
- Sous URI de redirection, sélectionnez Web, puis entrez l'URL ACS à partir du Métadonnées du fournisseur de services onglet du plugin miniOrange SAML.
- Sélectionner S'enregistrer.
- Sous Gérer, cliquer sur Exposer une API.
- Cliquez sur complet » pour l'URI de l'ID d'application, puis cliquez sur Enregistrer, en acceptant la valeur par défaut.
- Une fois enregistré, copiez l'URI de l'ID d'application et collez-le dans le ID d'entité SP/émetteur champ sous le plugin laravel saml.
- Cliquez sur Enregistrer.
1.2 Générer des politiques SSO
- Depuis notre portail Azure B2C, accédez à la section Présentation de votre locataire B2C et enregistrez le nom de votre locataire.
NOTE: Si votre domaine B2C est b2ctest.onmicrosoft.com, le nom de votre locataire est b2ctest.
- Saisissez votre Nom du locataire Azure B2C ci-dessous, ainsi que l'ID d'application pour IdentityExperienceFramework et
Applications ProxyIdentityExperienceFramework telles qu’enregistrées dans les étapes ci-dessus.
Cliquez sur le Générer des stratégies Azure B2C bouton pour télécharger les politiques SSO.
Extrayez le fichier zip téléchargé. Il contient les fichiers de stratégie et le certificat (.pfx), dont vous aurez besoin dans les étapes suivantes.
1.3 Certificats de configuration
NOTE:
Si, à l'étape suivante, le bouton « Identity Experience Framework » n'est pas cliquable, cela peut être dû à l'absence d'un abonnement Azure AD B2C actif pour ce locataire. Vous trouverez des informations détaillées sur l'abonnement Azure AD B2C ici et vous pouvez créer un nouveau locataire en suivant les instructions ici.
Téléchargez le certificat
- Connectez-vous à la Portail Azure et accédez à votre locataire Azure AD B2C.
- Sous Politiques, sélectionnez Cadre d'expérience d'identité et alors Clés de politique.
- Sélectionner Ajouter, Puis sélectionnez Options > Télécharger
- Entrez le nom comme SamlIdpCert. Le préfixe B2C_1A_ est automatiquement ajouté au nom de votre clé.
- À l'aide du contrôle de téléchargement de fichiers, téléchargez votre certificat généré au cours des étapes ci-dessus avec les politiques SSO (tenantname-cert.pfx).
- Saisissez le mot de passe du certificat comme nom de locataire et cliquez sur Créer. Par exemple, si le nom de votre locataire est xyzb2c.onmicrosoft.com, entrez le mot de passe sous la forme xyzb2c.
- Vous devriez pouvoir voir une nouvelle clé de stratégie portant le nom B2C_1A_SamlIdpCert.
Créer la clé de signature
- Sur la page de présentation de votre locataire Azure AD B2C, sous Politiques, sélectionnez Cadre d'expérience d'identité.
- Sélectionner Clés de politique puis sélectionnez Ajouter.
- Pour Options, choisissez Générer.
- In Nom, saisissez TokenSigningKeyContainer.
- Pour Type de clé, sélectionnez RSA.
- Pour Utilisation des clés, sélectionnez Signature.
- Sélectionner Créer.
Créer la clé de chiffrement
- Sur la page de présentation de votre locataire Azure AD B2C, sous Politiques, sélectionnez Cadre d'expérience d'identité.
- Sélectionner Clés de politique puis sélectionnez Ajouter.
- Pour Options, choisissez Générer.
- In Nom, saisissez TokenEncryptionKeyContainer.
- Pour Type de clé, sélectionnez RSA.
- Pour Utilisation des clés, sélectionnez Chiffrement.
- Sélectionner Créer.
1.4 Télécharger les politiques
- Sélectionnez le Cadre d'expérience d'identité élément de menu dans votre locataire B2C dans le portail Azure.
- Sélectionner Télécharger une stratégie personnalisée.
- Conformément à l'ordre suivant, téléchargez les fichiers de stratégie téléchargés lors des étapes ci-dessus :
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- InscriptionOuSignin.xml
- ProfilEdit.xml
- Mot de passeRéinitialiser.xml
- InscriptionOuConnexionSAML.xml
- Au fur et à mesure que vous téléchargez les fichiers, Azure ajoute le préfixe B2C_1A_ à chacun.
Vous avez configuré avec succès Azure B2C en tant qu'IdP SAML (fournisseur d'identité) pour réaliser la connexion WordPress Azure B2C Single Sign-On (SSO), garantissant une connexion sécurisée au site WordPress (WP).
2. Configurez le plugin Laravel SAML en tant que fournisseur de services
- Rendez-vous dans la section miniOrange Laravel SAML 2.0 SSO plugin et cliquez sur Choisissez le fichier bouton à côté du Télécharger des données de viande option.
- Sélectionnez le fichier de métadonnées que nous avons téléchargé depuis votre IDP et cliquez sur Télécharger une présentation .
- Cliquez sur Configuration du test pour tester si la configuration SAML que vous avez effectuée est correcte. En cas de configuration de test réussie, vous obtiendrez les différents attributs utilisateur renvoyés par votre fournisseur d'identité dans un tableau de configuration de test.
3. Options SSO
- Vos utilisateurs peuvent lancer le flux d'authentification unique en cliquant sur le bouton Single Sign On bouton généré sur votre page de connexion. Si vous n'avez pas encore cette page, exécutez php artisan faire: auth & php artisan migrer pour générer le module d'authentification.
Dans ce guide, vous avez configuré avec succès l'authentification unique SAML Azure B2C (connexion SSO Azure AD) en choisissant Azure B2C comme fournisseur d'identité et Laravel comme fournisseur de services, grâce au plugin miniOrange « SAML Single Sign On – SSO Login ». Cette solution vous permet de déployer en quelques minutes un accès sécurisé à votre site Laravel via les identifiants de connexion Azure B2C.
Ressources supplémentaires