Lås upp obegränsade möjligheter med Drupal Headless SSO med SAML-protokoll
Översikt
miniOranges Headless SSO-säkerhetslösning utför sömlös enkel inloggning (SSO) mellan den huvudlösa applikationen, Drupal-backend och Identity Provider (IdP). I den här autentiseringsprocessen omdirigeras användarna först till identitetsleverantörens inloggningssida för autentisering. När autentiseringen är framgångsrik omdirigeras de tillbaka till gränssnittsapplikationen. I detta skede genereras en JSON Web Token (JWT) för att säkert verifiera användarens identitet och skickas till frontend-webbplatsen. (Valfritt: Denna token kan användas för API-validering samtidigt som ytterligare information hämtas från Drupal.) När du går vidare belyser detta dokument stegen för att konfigurera SSO för en huvudlös Drupal-installation.
Förutsättningar
- miniOrange SAML SP-modul : Detta modul aktiverar SSO mellan Drupal-webbplatsen och SAML-leverantören.
- REST & JSON API-autentiseringsmodul :
- Efter att SSO har utförts, detta modul hjälper till att generera JWT och skicka denna token till frontend-applikationen.
- Denna token kan användas i rubriken tillsammans med API-begäran till Drupal för att autentisera/validera ytterligare API:er. REST & JSON API-autentiseringsmodulen kommer att validera JWT innan API-anrop tillåts för att säkerställa säker åtkomst.
Backend-konfigurationer
- miniOrange SAML-modul: Se detta installationsguide för att upprätta SSO mellan Drupal-webbplatsen och den önskade SAML-identitetsleverantören.
- REST & JSON API-autentiseringsmodul:
- För att autentisera Drupal API:erna med JWT, konfigurera den JWT-baserade autentiseringsmetoden i modulen genom att följa detta inställningsguide.
- Konfigurera inloggningsadressen till frontend:
- För att få inloggningsadressen, gå till miniorange_saml-modulen och navigera sedan till Konfiguration av tjänsteleverantör flik. Kopiera SSO-länken och integrera den i frontend-inloggningssidan.
- Konfigurera frontend-slutpunkten:
- REST & JSON API-autentiseringsmodulen genererar en JWT som motsvarar den inloggade användaren. För att få denna JWT från modulen, konfigurera omdirigeringsadressen i API-autentiseringsmodulen genom att följa stegen nedan:
- Navigera till avancerade inställningar fliken på REST & JSON API-autentisering modul.
- I Token Endpoint Configuration för headless SSO sektion, ange slutpunkten för frontend-applikationen dit webbläsaren kommer att omdirigera efter Single Sign-On (SSO)-processen med en kod och en relätillståndsparameter. Efter detta klickar du på Spara Token Endpoint Configuration knapp.
- Konfigurera omdirigeringsadressen för utloggning för gränssnittet:
- Efter att användaren loggat ut från Drupal-webbplatsen kommer de att dirigeras tillbaka till frontend-sidan. För att ställa in den här slutpunkten för gränssnittsapplikationen, gå till fliken Logga in på miniOrange_saml modul.
- I "Standard omdirigeringsadress efter utloggning" textfält anger du slutpunkten på frontendsidan dit användaren ska omdirigeras efter att ha loggat ut.
Avslöja frontend-scenerna
Det här avsnittet belyser allt som en användare behöver göra på frontend-sidan. Den talar också om de möjliga förändringar som en användare kommer att bevittna på frontend. Låt oss börja:
- Inloggningsflöde:
- Initiera inloggningen från frontend-applikationen med SSO-URL.
- Användaren omdirigeras till den konfigurerade IdP.
- Ange användarens autentiseringsuppgifter för att autentisera.
- Efter framgångsrik autentisering omdirigeras användaren tillbaka till gränssnittet med koden och relätillståndet som frågeparametrar i URL:en.
- Använd koden som erhölls i föregående steg för att göra en begäran till Drupals token-slutpunkt. För detta, följ stegen nedan:
- Leta upp token-slutpunkten i Token Endpoint-konfigurationer för huvudlös SSO detaljer. Se bilden nedan för detta.
- Exempel för att göra en POST-begäran med den mottagna koden:
- Anta att användaren fick en kod '(received_code)' på användargränssnittet.
- Använd nu formatet nedan för att göra en POST-förfrågan med den här koden.
Obs: Relätillståndet är parametern från vilken inloggningen initieras, eller om destinationsparametern är den aktuella inloggnings-URL, kommer relätillståndet att vara destinationsparameterns värde.
Postman Format:
HTTP: POST /drupal10_1_1/web/getToken HTTP/1.1 Värd: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 35 code=MjEOxuSuQyd1vUE7Ft5K5fT8Syh25c CURL: curl --getToallocalhost/getToallocalhost/getToallocal/ \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'code=MjEOxuSuQyd10vUE1Ft1K1fT7Syh5c'
- Initiera en utloggning från frontend-applikationen. (med URL- {drupal-base-url}/användare/logga ut)
- Säkerställ konfigurationen av enkel utloggning.
- Detta kommer att logga ut användaren från både Drupal-webbplatsen och IdP.
- Efter att ha loggat ut från Drupal-webbplatsen kommer användaren att omdirigeras till konfigurerad slutpunkt.
Obs: För att se formatet för API-förfrågningar som inkluderar JWT-token i rubriken, se detta inställningsguide.
Relaterade artiklar
Tack för ditt svar. Vi återkommer snart.
Något gick fel. Skicka din fråga igen

Kontakta oss