Le plugin Laravel OAuth Single Sign-On (SSO) permet d'activer l'authentification unique OAuth 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 à OAuth. Ce guide vous explique étape par étape comment configurer l'authentification unique (SSO) entre Laravel et AWS Cognito, ce dernier étant utilisé comme fournisseur OAuth. Pour en savoir plus sur les autres fonctionnalités de notre plugin Laravel OAuth client single-sign-on-sso, cliquez ici.
Installation du package client Laravel Oauth
- Ouvrez une fenêtre d'invite de commande et remplacez le répertoire de travail par votre Répertoire principal de l'application Laravel.
- Entrez la commande ci-dessous.
composer require miniorange/oauth-laravel-free
- Après l'installation réussie du package, accédez à votre application Laravel dans le navigateur et entrez
{laravel-application-domain}/mo_oauth_admin
- Le package commencera à configurer votre base de données pour vous, puis vous redirigera vers la page d'inscription de l'administrateur.
- Inscrivez-vous ou connectez-vous avec votre compte miniOrange pour configurer le plugin.
- Après vous être connecté, vous verrez le Paramètres du fournisseur OAuth option, où vous obtiendrez l’URL de redirection/rappel. Gardez-le à portée de main car il sera nécessaire plus tard pour configurer le plugin AWS cognito Single Sign-On SSO.
Étapes pour configurer la connexion AWS cognito Single Sign-On (SSO) à Laravel
1. Configurez AWS Cognito en tant que fournisseur OAuth
- Tout d'abord, allez à Console Amazon et inscrivez-vous/connectez-vous à votre compte pour configurer AWS Cognito.
- Recherchez Cognito dans le Services AWS barre de recherche comme indiqué ci-dessous.
- Cliquez sur Gérer les pools d'utilisateurs pour voir la liste de vos groupes d'utilisateurs.
- Cliquez sur Créer un pool d'utilisateurs pour créer un nouveau pool d'utilisateurs.
- Ajouter un Nom du pool et cliquez sur le Vérifier les valeurs par défaut pour continuer.
- Faites défiler et cliquez sur "Ajouter un client d'application" puis cliquez à nouveau sur Ajouter un client d'application.
- Entrez un Nom du client de l'application et cliquez sur Créer un client d'application pour créer un client d'application.
- Cliquez sur Retour aux détails de la piscine pour revenir à votre configuration.
- Cliquez sur Créer un pool pour enregistrer vos paramètres et créer un groupe d'utilisateurs.
- Dans la barre de navigation présente sur le côté gauche, cliquez sur le Paramètres du client de l'application option sous la Intégration d'applications menu.
- Activer le fournisseur d'identité en tant que Groupe d'utilisateurs Cognito et entrez votre URL de rappel/redirection que vous obtiendrez de votre package oauth laravel présent sous le URL de redirection/rappel champ de texte. Sélectionner Octroi du code d'autorisation case à cocher sous le Flux OAuth autorisés et sélectionnez également ouvert et profil cases à cocher sous le Étendues OAuth autorisées option (Veuillez vous référer à l’image ci-dessous). Clique sur le Enregistrer les modifications bouton pour enregistrer vos configurations.
- Cliquez sur Choisissez le nom de domaine option pour définir un nom de domaine pour votre application.
- Allez dans nom de domaine et entrez un nom de domaine pour votre application. Après avoir ajouté le nom de domaine, vous pouvez vérifier sa disponibilité en cliquant sur "Voir les disponibilités" bouton. Après avoir entré un nom de domaine valide, cliquez sur "Sauvegarder les modifications" .
- Nom de domaine complet : Copiez le nom de domaine complet {votre nom de domaine}.auth.{nom de la région}.amazoncognito.com. Vous devez le saisir dans le champ des points de terminaison sous dans le package laravel OAuth Single Sign-On (SSO).
- Allez dans « Client d'application » et cliquez sur "Afficher les détails" pour obtenir un identifiant client et un secret client. (Conservez l'ID client et le secret client à portée de main car vous en aurez besoin plus tard.)
- Cliquez sur Utilisateurs et groupes option sous la Paramètres généraux menu dans la barre de navigation de gauche. Ensuite, cliquez sur le Créer un utilisateur bouton pour ajouter un nouvel utilisateur.
- Remplissez tous les détails requis et cliquez sur Créer un utilisateur.
- Vous pouvez voir le nouvel utilisateur créé.
2. Configurez le plugin Laravel OAuth en tant que client OAuth
- Rendez-vous dans la section miniOrange Laravel OAuth SSO paquet et cliquez sur Choisissez Cognito comme fournisseur OAuth.
- Entrer le identité du client et Secret client depuis AWS cognito Client d'application languette.
- Veuillez vous référer au tableau ci-dessous pour configurer le Domaine et Endpoints ou bien après avoir sélectionné la portée Cognito et les points de terminaison seront ajoutés automatiquement dans leurs champs respectifs :
| Portée: |
ouvert |
| Autoriser le point de terminaison : |
https://<cognito-app-domain>/oauth2/authorize |
| Point de terminaison du jeton d’accès : |
https://<cognito-app-domain>/oauth2/token |
| Obtenez le point de terminaison UserInfo : |
https://<cognito-app-domain>/oauth2/userInfo |
- Vous pouvez envoyer les informations d'identification du client dans entête et envoyer Etat paramètre en conséquence, entrez également attribut de connexion selon votre condition.
- Cliquez sur enregistrer les paramètres bouton. Après cela, cliquez sur configuration des tests bouton. vous obtiendrez la liste des noms d'attribut et des valeurs d'attribut envoyés par votre fournisseur OAuth
3. Options SSO
- Vous pouvez également utiliser un lien pour vous connecter via votre fournisseur OAuth/OpenID.
- Ce lien est au format :
{laravel-application-domain}/ssologin.php?option=oauthredirect
4. Assistance / Démo
- Assistance et Demande d'essai/démo des onglets sont disponibles pour que les clients puissent les contacter pour des démonstrations et de l'assistance.
Ce guide vous a permis de configurer avec succès l'authentification unique (SSO) AWS Cognito à l'aide de Laravel comme client OAuth. Cette solution vous permet de déployer rapidement un accès sécurisé à votre site Laravel grâce aux identifiants de connexion AWS Cognito.
Ressources supplémentaires