SAML Single Sign-On (SSO) till AWS Cognito med Joomla IDP Plugin
Översikt
Enkel inloggning i AWS Cognito med Joomla IDP tillåter användare att logga in på AWS Cognito med Joomla genom att konfigurera AWS Cognito som en tjänsteleverantör (SP) och Joomla som en SAML-identitetsleverantör (IDP). Den här guiden tar dig genom en steg-för-steg-process för att konfigurera SSO mellan de två plattformarna.
Vad är AWS Cognito?
AWS Cognito är en tjänst som tillhandahålls av Amazon Web Services (AWS) som erbjuder autentisering, auktorisering och användarhantering för webb- och mobilapplikationer. Det förenklar processen att lägga till användarregistrering, inloggning och åtkomstkontroll till dina appar.
Installera Joomla SAML IDP Plugin
- Logga in på din Joomla-sajt Administratör konsol.
- Från vänster växlingsmeny, klicka på Systemkrav, klicka sedan på under Installera förlängningar.
- Klicka nu på Eller bläddra efter fil för att hitta och installera plugin-filen som laddades ner tidigare.
- Installationen av plugin har lyckats. Klicka nu på Börja använda miniOrange SAML IDP-plugin för att konfigurera miniOrange Joomla IDP-plugin.
- Gå till miniOrange Joomla IDP-plugin, navigera till Identitetsleverantör fliken.
- Här kan du hitta Identity Provider Metadata XML URL/File eller endpoints som IDP Entity ID, SAML Login URL, SAML Logout URL (Premium Feature) och Certificate for SP-konfiguration. Ladda ner XML-metadata genom att klicka på knappen som visas nedan.
Konfigurationssteg
I denna inställning, Joomla fungerar som lagringsplats för användare, dvs det kommer att fungera som IDP medan AWS Cognito är där användare kommer att logga in med sina referenser från Joomla där Joomla SAML IDP SSO Plugin kommer att installeras.
Steg 1: Konfigurera AWS Cognito som SP (tjänsteleverantör)
- Först av allt, gå till AWS Cognito-konsol och registrera dig/logga in på ditt konto för att konfigurera AWS Cognito.
- Gå till Tjänster > Säkerhet, identitet och efterlevnad > Cognito.
- Klicka Hantera användarpooleroch sedan Skapa en användarpool.
- Ange ett namn för poolnamnet. Klick Granska standardinställningaroch sedan Skapa pool.
- Efter att ha skapat en pool behålla Pool-ID praktiskt eller så kan du anteckna så att det hjälper till att konfigurera din IdP.
- I den vänstra rutan klickar du på Domännamn under Appintegration. Ange ett tillgängligt domänprefix och spara det sedan. Behåll denna domän som den kommer att kräva i ACS URL för att konfigurera din IDP.
- Klicka på den vänstra rutan Identitetsleverantör under förbundet. Sedan Välj SAML.
- Ladda upp Joomla IDP-metadata, namnge den och klicka sedan Skapa leverantör.
- Lägg till detta
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
attribut i SAML-attributtextfältet och välj Användarpoolattribut som e-post.
- Klicka Spara ändringar.
Steg 2: Konfigurera Joomla som identitetsleverantör
- I miniOrange Joomla SAML IDP Plugin, gå till fliken Service Provider.
- I fältet SP Entity ID anger du urn:amazon:cognito:sp:(YourUserPoolId), (ta bort ankartagg (<>) och lägg till ditt användarpool-id som du redan har kopierat ovan när du skapade poolen.
- Ersätt "yourUserPoolId" med ditt Amazon Cognito användarpool-ID.
- Så här hittar du användarpool-ID:
- Logga in på AWS Management Console som administratör.
- Gå till Tjänster > Säkerhet, identitet och efterlevnad och välj sedan Cognito.
- Välj Hantera användarpooler och sedan den användarpool du vill använda i konfigurationen.
- Hitta Pool-ID överst på listan.
- I fältet ACS URL anger du:
https://YourSubdomain.amazoncognito.com/saml2/idpresponse
och spara det. - Vänligen ersätt din underdomän som du skapade i steget ovan.
- Du kan också hitta din underdomän genom att följa stegen nedan:
- Så här hittar du din underdomän:
- Klicka på Domännamn under Appintegration.
- Kopiera hela URL:en och ersätt den med YourSubdomain i ACS URL (vänligen ta bort alla blanksteg här).
- Aktivera kryssrutan Assertion Sign för att signera påståendet och klicka på knappen Spara.
- För att kartlägga attributen klicka på fliken Mappning. Välj din tjänsteleverantör från rullgardinsmenyn.
- Lägg till detta
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
värde i textfältet Attributnamn och Välj e-postadress i listrutan Attributvärde. Klicka på knappen Spara mappning.
Steg 3: Konfigurera App Client i AWS Cognito
- Klicka nu på App Clients under Allmänna inställningar. Klicka på Lägg till en appklient.
- Ange appklientens namn. För ex. JoomlaIdP. Inaktivera kryssrutan Generera klienthemlighet och klicka på knappen Skapa appklient längst ned.
- Klicka nu på App Client-inställningarna under App Integration i den vänstra rutan.
- Aktivera kryssrutan Markera alla, ange URL(er) för återuppringning och Logga ut URL(er). Välj Implicit Grant under Tillåtna OAuth-flöden. Aktivera nu kryssrutan för e-post och openid under Tillåtna OAuth-omfång och klicka på knappen Spara ändringar i det nedre högra hörnet.
- Klicka nu på Starta värdgränssnitt längst ner för att utföra SSO.
- Du kan också använda följande SSO-URL för att utföra SSO.
https://(domain_prefix).auth.(region).amazoncognito.com/login?
response_type=token&client_id=(app client id)&redirect_uri=(your redirect URI)
