Förenkla SAML-appintegrationen för utvecklare
Lär dig vad SAML är, hur man implementerar SSO och snabba steg för att integrera SAML-appar som en Identity Provider (IdP) eller Service Provider (SP).
Single Sign-On (SSO) är nyckeln för moderna appar, och SAML möjliggör säker, användarvänlig autentisering över företagsidentitetssystem. Denna guide förenklar SAML för utvecklare och designers med tydliga steg och praktiska exempel för att hjälpa dig implementera det effektivt.
Vad är SAML SSO och SAML-appar?
Security Assertion Markup Language (SAML) är en XML-baserad standard som används för att utbyta autentiserings- och auktoriseringsdata mellan två nyckelaktörer: Identity Provider (IdP) och Service Provider (SP). Det är en vanlig lösning för Single Sign-On (SSO) i organisationer, vilket gör livet enklare för företagsanvändare genom att låta dem logga in en gång och komma åt flera applikationer.
Identity Provider (IdP) ansvarar för att hantera och verifiera användaruppgifter, såsom användarnamn och lösenord. När en användare försöker komma åt en skyddad tjänst, bekräftar IdP deras identitet och skickar denna bekräftelse till tjänsten.
- Exempel: Föreställ dig att du arbetar för ett stort företag som använder Microsoft Azure AD för att hantera anställdas konton. När du vill logga in på Salesforce fungerar Azure AD som IdP. Det kontrollerar dina uppgifter och informerar Salesforce att du är behörig att använda det.
Service Provider (SP) är applikationen eller tjänsten som användarna egentligen försöker komma åt. Den är beroende av IdP för att hantera den tunga delen av autentiseringen.
- Exempel: I vårt tidigare scenario är Salesforce SP. Det litar på Microsoft Azure AD (IdP) för att bekräfta din identitet. När Azure AD garanterar för dig, släpper Salesforce in dig.
När man talar om en “SAML-app,” syftar man oftast på SP.
Genom att använda SAML-protokollet kan du ställa in din tjänst som en IdP för att stödja applikationsintegrationer (som Azure AD / Google Workspace); eller som en SP (som Salesforce / Slack) för att stödja SSO för användare.
En SAML Assertion är hjärtat i SAML-protokollet. Det är en digital “notering” skapad av IdP och skickad till en SP som säger, “Jag har bekräftat denna användares identitet.” Nästa, kommer vi att täcka hur processen fungerar för både IdP och SP.
När man agerar som en SAML Identity Provider
När din tjänst fungerar som IdP, möjliggör du SAML-autentisering över flera applikationer. Detta tillåter användare att komma åt olika tjänster genom en enda företagsidentitet.
Här är en typisk SAML SSO-arbetsflöde för en IdP:
- Användaren försöker komma åt en applikation (SP), som Salesforce.
- Applikationen omdirigerar användaren till din IdP för autentisering.
- Användaren anger sina uppgifter på din IdP:s inloggningssida.
- IdP kontrollerar uppgifterna.
- Om uppgifterna verifieras, skickar IdP en SAML assertion tillbaka till SP.
- SP bearbetar uttalandet, bekräftar dess giltighet och ger användaren tillgång.
När man agerar som en SAML Service Provider
Om din tjänst är SP, kommer du att integrera med olika identitetsleverantörer för att ge dina användare SSO-kapacitet. Detta tillåter företagsanvändare från olika organisationer eller hyresgäster att på ett säkert och effektivt sätt komma åt din applikation.
Här är ett arbetsflöde för SP-initierad SSO:
- Användaren försöker logga in på din applikation.
- Din applikation genererar en SAML-förfrågan och omdirigerar användaren till IdP:s inloggningssida.
- Användaren loggar in på IdP (eller hoppar över detta steg om de redan är inloggade).
- IdP verifierar användarens identitet och, när den är bekräftad, packar användarens detaljer i en SAML assertion.
- IdP skickar uttalandet tillbaka till din applikation.
- Din tjänst verifierar uttalandet. Om det är giltigt får användaren tillgång till din applikation.
Nyckelparametrar i SAML SSO
För en framgångsrik SAML SSO-integration, måste både IdPs och SPs dela specifika parametrar. Här är en titt på det viktigaste:
Parametrar från IdP
- IdP Entity ID: En unik identifierare för IdP i SAML-kommunikation, som ett digitalt namntag.
- SSO URL: Inloggningsändpunkt (URL) där SP omdirigerar användare för autentisering.
- X.509 Certificate: En offentlig nyckel som används för att signera SAML-uttalandet, vilket säkerställer att det är säkert. Detta är “sigillet” som verifierar äktheten.
Tips: Om din IdP erbjuder en SAML Metadata URL blir saker enklare. Denna URL innehåller all nödvändig information (som certifikat, SSO-URL:er och IdP Entity ID) på ett ställe. Det minimerar risken för fel från manuell kopiering och klistrande och eliminerar krånglet med att manuellt uppdatera certifikatfiler.
Parametrar från SP
- SP Entity ID: SP:s unika identifierare, liknande IdP Entity ID.
- Assertion Consumer Service (ACS) URL: Detta är SP-änden där SP förväntar sig att ta emot SAML-uttalande från IdP.
- RelayState (Valfritt): Används för att överföra data under SAML-processen, såsom URL:en användaren ursprungligen försökte besöka.
SAML-attributkartläggning och kryptering
- NameID Format: Definierar användaridentifierarens format (t.ex., e-postadress eller användarnamn).
- SAML Attributes: Dessa är ytterligare användardetaljer, såsom roller, e-post eller avdelning, som IdP skickar till SP.
- Exempel: Om SAML-uttalandet signerat av IdP inkluderar
email
(anvä[email protected]),role
(admin), ochdepartment
(engineering). SP kan användarole
för att tilldela administrativa rättigheter ellerdepartment
för att gruppera användaren inom rätt team. För att få dessa viktiga användardata, måste både IdP och SP bestämma hur man kartlägger attributen. Till exempel, kan IdP definiera “department” som team, medan SP förväntar sig det som grupp. Korrekt kartläggning säkerställer smidig kommunikation.
- Exempel: Om SAML-uttalandet signerat av IdP inkluderar
- Krypterade uttalanden (Valfritt): För att skydda känslig autentiseringsdata kan SAML-uttalanden krypteras.
- IdP:s roll: Krypterar uttalandet med SP:s offentliga nyckel.
- SP:s roll: Dekrypterar uttalandet med sin privata nyckel för att läsa användardetaljer.
Nu borde du ha den nödvändiga informationen för att ställa in en SAML-anslutning. För att integrera Salesforce (Service Provider) med Azure AD (Identity Provider), följ dessa steg:
- Få IdP Entity ID, SSO URL och certifikat från Azure AD och konfigurera dem i Salesforce.
- Tillhandahåll Salesforces SP Entity ID och ACS URL till Azure AD.
Logto gör SAML-integration enkelt
Logto kan fungera som antingen en IdP eller en SP för att stödja SAML SSO för dina applikationer.
Använda Logto som en SAML IdP
Logto låter andra applikationer förlita sig på det för federerad identitetsautentisering och stöder multi-faktorautentisering (MFA) för förbättrad säkerhet.
- Skapa en Logto App Gå till Logto Console > Applications och skapa en ny SAML-app.
- Konfigurera SAML-parametrar Ställ in appen med Service Providers (SP) Assertion Consumer Service URL och SP Entity ID.
- Förse metadata URL Logto tillhandahåller en IdP Metadata URL som SPs kan använda för att automatiskt hämta väsentliga detaljer, såsom SSO URL:er och certifikat.
- Avancerad konfiguration (Valfritt)
- Du kan skapa flera nya certifikat med fingeravtryck och ställa in utgångsdatum, men bara ett certifikat kan vara aktivt åt gången.
- Modifiera Name ID-formatet för att passa dina affärsbehov.
- Aktivera SAML-uttalandekryptering genom att kopiera och klistra in x509-certifikatet från din tjänsteleverantör för att kryptera uttalandena.
- Karta attribut (Valfritt) Anpassa enkelt hur användarattribut delas med Service Providers (SPs).
För detaljerad vägledning, besök den officiella dokumentationen här: SAML App
Använda Logto som en SAML SP
Logto integreras också med alla företags-IdP:er via SAML eller OIDC-protokoll. Oavsett om du aktiverar SP-initierad SSO för dina enhetliga inloggningssidor eller konfigurerar IdP-initierad SSO, är processen enkel.
- Skapa en företagsanslutare Gå till Logto Console > Enterprise SSO och skapa en ny Enterprise Connector. Välj SAML som protokollstandard.
- Konfigurera SAML-parametrar Tillhandahåll antingen metadata URL eller metadata XML-fil från din IdP. Om metadatan inte är tillgänglig, byt till manuell konfiguration genom att ange IdP Entity ID, SSO URL och ladda upp signeringscertifikatet.
- Dela ACS URL och SP Entity ID Ge Logtos ACS URL och SP Entity ID till din IdP för att slutföra integreringsinstallationen.
- Karta attribut (Valfritt) Konfigurera användardatakartläggningar, som e-post eller namn, för att säkerställa att informationen överförs korrekt mellan IdP och Logto.
- Lägg till företags e-postdomäner I fliken “SSO Experience” för företagsanslutaren, lägg till en eller flera e-postdomäner. Detta säkerställer att endast användare med de angivna domänerna kan autentisera via SSO.
- Aktivera IdP-initierad SSO (Valfritt) Aktivera IdP-initierad SSO endast om det krävs av dina företagskunder. Denna funktion tillåter användare att logga in på dina applikationer direkt från IdP-instrumentpanelen.
För detaljerad vägledning, besök den officiella dokumentationen här: Enterprise SSO-dokumentation.
Avslutande tankar
SAML erbjuder en standardiserad, säker metod för SSO, vilket gör autentiseringen smidigare. Logto förenklar processen oavsett om du ställer in det som en IdP eller SP. Med sitt användarvänliga gränssnitt och stöd för både moln och öppen källkod-versioner, tar Logto bort komplexiteten ur SAML-integration. Genom att bara konfigurera några parametrar kan du ansluta dina tjänster till vilken SAML IdP eller SP som helst och fokusera på att skapa fantastiska upplevelser för dina användare.