Nederlands
  • SAML
  • SSO
  • Identity Provider

Vereenvoudig SAML app-integratie voor ontwikkelaars

Leer wat SAML is, hoe je SSO implementeert en snelle stappen om SAML-apps te integreren als een Identity Provider (IdP) of Service Provider (SP).

Ran
Ran
Product & Design

Stop met weken verspillen aan gebruikersauthenticatie
Lanceer veilige apps sneller met Logto. Integreer gebruikersauthenticatie in minuten en focus op je kernproduct.
Aan de slag
Product screenshot

Single Sign-On (SSO) is essentieel voor moderne apps en SAML biedt veilige, gebruiksvriendelijke authenticatie over zakelijke identiteitssystemen. Deze gids vereenvoudigt SAML voor ontwikkelaars en ontwerpers met duidelijke stappen en praktische voorbeelden om het efficiënt te implementeren.

Wat zijn SAML SSO en SAML-apps?

Security Assertion Markup Language (SAML) is een XML-gebaseerde standaard voor het uitwisselen van authenticatie- en autorisatiegegevens tussen twee sleutelfiguren: de Identity Provider (IdP) en de Service Provider (SP). Het is een veelgebruikte oplossing voor Single Sign-On (SSO) binnen organisaties, wat het leven gemakkelijker maakt voor zakelijke gebruikers door ze eenmalig in te laten loggen en toegang te geven tot meerdere applicaties.

Identity Provider (IdP) is verantwoordelijk voor het beheren en verifiëren van gebruikersgegevens, zoals gebruikersnamen en wachtwoorden. Wanneer een gebruiker probeert toegang te krijgen tot een beveiligde dienst, bevestigt de IdP hun identiteit en stuurt deze bevestiging naar de service.

  • Voorbeeld: Stel dat je werkt voor een groot bedrijf dat Microsoft Azure AD gebruikt voor het beheren van werknemersaccounts. Wanneer je wilt inloggen op Salesforce, fungeert Azure AD als de IdP. Het controleert je inloggegevens en informeert Salesforce dat je geautoriseerd bent om het te gebruiken.

Service Provider (SP) is de applicatie of dienst die gebruikers daadwerkelijk proberen te bereiken. Het vertrouwt op de IdP om het zware werk van authenticatie af te handelen.

  • Voorbeeld: In het scenario hierboven is Salesforce de SP. Het vertrouwt op Microsoft Azure AD (de IdP) om je identiteit te bevestigen. Zodra Azure AD voor je instaat, laat Salesforce je binnen.

Wanneer men spreekt over een “SAML-app,” bedoelt men doorgaans de SP.

Met het SAML-protocol kun je je dienst instellen als een IdP om applicatie-integraties te ondersteunen (zoals Azure Ad / Google Workspace); of als een SP (zoals Salesforce / Slack) om SSO voor gebruikers te ondersteunen.

Een SAML Assertion is het hart van het SAML-protocol. Het is een digitaal 'briefje' gecreëerd door de IdP en gestuurd naar een SP dat zegt: "Ik heb de identiteit van deze gebruiker bevestigd." Hierna zullen we bespreken hoe het proces werkt voor zowel IdP als SP.

Wanneer je fungeert als een SAML Identity Provider

Wanneer je dienst fungeert als de IdP, maak je SAML-authenticatie mogelijk over meerdere applicaties. Dit stelt gebruikers in staat om verschillende diensten te benaderen via een enkele zakelijke identiteit.

as_saml_identity_provider_idp.png

Hier is een typische SAML SSO-workflow voor een IdP:

  1. De gebruiker probeert toegang te krijgen tot een applicatie (SP), zoals Salesforce.
  2. De applicatie verwijst de gebruiker door naar je IdP voor authenticatie.
  3. De gebruiker voert zijn inloggegevens in op de inlogpagina van je IdP.
  4. De IdP controleert de inloggegevens.
  5. Als de inloggegevens zijn geverifieerd, stuurt de IdP een SAML-assertie terug naar de SP.
  6. De SP verwerkt de assertie, bevestigt de geldigheid ervan en geeft de gebruiker toegang.

Wanneer je fungeert als een SAML Service Provider

Als je dienst de SP is, integreer je met verschillende identity providers om je gebruikers SSO-capaciteiten te bieden. Dit stelt zakelijke gebruikers uit verschillende organisaties of huurders in staat je applicatie veilig en efficiënt te bereiken.

as_saml_service_provider_sp.png

Hier is een workflow voor SP-geïnitieerd SSO:

  1. De gebruiker probeert in te loggen op je applicatie.
  2. Je applicatie genereert een SAML-aanvraag en verwijst de gebruiker door naar de inlogpagina van de IdP.
  3. De gebruiker logt in bij de IdP (of slaat deze stap over als hij al is ingelogd).
  4. De IdP verifieert de identiteit van de gebruiker en pakt, zodra bevestigd, de gegevens van de gebruiker in een SAML-assertie.
  5. De IdP stuurt de assertie terug naar je applicatie.
  6. Je dienst verifieert de assertie. Als het geldig is, krijgt de gebruiker toegang tot je applicatie.

Belangrijke parameters in SAML SSO

Voor een succesvolle integratie van SAML SSO moeten zowel IdP's als SP's specifieke parameters delen. Hier is een overzicht van de essentiële parameters:

Parameters van de IdP

  1. IdP Entity ID: Een unieke identificatie voor de IdP in SAML-communicatie, vergelijkbaar met een digitale naamkaart.
  2. SSO URL: Het login-eindpunt (URL) waar de SP gebruikers heen stuurt voor authenticatie.
  3. X.509 Certificaat: Een publieke sleutel gebruikt om de SAML-assertie te ondertekenen, wat de veiligheid waarborgt. Dit is de "verzegeling" die de authenticiteit bevestigt.

Tip: Als je IdP een SAML Metadata URL biedt, wordt alles eenvoudiger. Deze URL bevat alle benodigde informatie (zoals certificaten, SSO URL's en IdP Entity ID) op één plek. Het vermindert het risico op fouten door handmatig kopiëren en plakken en elimineert de moeite van het handmatig bijwerken van certificaatbestanden.

Parameters van de SP

  1. SP Entity ID: De unieke identificatie van de SP, vergelijkbaar met de IdP Entity ID.
  2. Assertion Consumer Service (ACS) URL: Dit is het SP-eindpunt waar verwacht wordt dat de SP de SAML-assertie van de IdP ontvangt.
  3. RelayState (Optioneel): Gebruikt om gegevens te verzenden tijdens het SAML-proces, zoals de URL die de gebruiker oorspronkelijk probeerde te bezoeken.

SAML-attributen mapping en encryptie

  1. NameID Format: Definieert het gebruikersidentificatieformaat (bijv. e-mailadres of gebruikersnaam).
  2. SAML-attributen: Dit zijn extra gebruikersgegevens, zoals rollen, e-mail of afdeling, die de IdP naar de SP stuurt.
    • Voorbeeld: Als de SAML-assertie ondertekend door de IdP email ([email protected]), rol (admin), en afdeling (techniek) bevat. De SP kan rol gebruiken om adminrechten toe te wijzen of afdeling om de gebruiker in de juiste team te groeperen. Om deze essentiële gebruikersdata te krijgen, moeten zowel de IdP als de SP besluiten hoe attributen worden gemapt. De IdP kan bijv. 'afdeling' definiëren als team, terwijl de SP het als groep verwacht. Juiste mapping zorgt voor soepele communicatie.
  3. Versleutelde Asserties (Optioneel): Om gevoelige authenticatiegegevens te beschermen, kunnen SAML-asserties worden versleuteld.
    • Rol van de IdP: Versleutelt de assertie met de publieke sleutel van de SP.
    • Rol van de SP: Ontsleutelt de assertie met zijn privésleutel om gebruikersgegevens te lezen.

Nu zou je de nodige informatie moeten hebben om een SAML-verbinding in te stellen. Volg deze stappen om Salesforce (Service Provider) met Azure AD (Identity Provider) te integreren:

  • Verkrijg de IdP Entity ID, SSO URL en certificaat van Azure AD en configureer ze in Salesforce.
  • Verstrek de SP Entity ID en ACS URL van Salesforce aan Azure AD.

Logto maakt SAML-integratie eenvoudig

Logto kan fungeren als zowel een IdP als een SP om SAML SSO voor je applicaties te ondersteunen.

Gebruik Logto als een SAML IdP

Logto stelt andere applicaties in staat zich te baseren op het voor gefedereerde identiteit-authenticatie en ondersteunt multi-factor authenticatie (MFA) voor verbeterde beveiliging.

  1. Maak een Logto App Ga naar Logto Console > Toepassingen en maak een nieuwe SAML-app.
  2. Configureer SAML Parameters Stel de app in met de Assertion Consumer Service URL en SP Entity ID van de Service Provider (SP).
  3. Verstrek Metadata URL Logto biedt een IdP Metadata URL die SP's kunnen gebruiken om automatisch essentiële details, zoals SSO-URL's en certificaten, op te halen.
  4. Geavanceerde Configuratie (Optioneel)
    • Je kunt meerdere nieuwe certificaten met vingerafdrukken maken en vervaldatums instellen, maar er kan slechts één certificaat actief zijn.
    • Pas het Name ID-formaat aan om te voldoen aan je bedrijfsvereisten.
    • Schakel SAML-assertieversleuteling in door het x509-certificaat van je serviceprovider te kopiëren en te plakken om de asserties te versleutelen.
  5. Map Attributen (Optioneel) Pas eenvoudig aan hoe gebruikersattributen worden gedeeld met Service Providers (SP's).

logto_saml_apps_saml_providers.png

Voor gedetailleerde begeleiding, bezoek de officiële documentatie hier: SAML App

Gebruik Logto als een SAML SP

Logto integreert ook met alle zakelijke IdP's via SAML- of OIDC-protocollen. Of je nu SP-geïnitieerd SSO activeert voor je uniforme inlogpagina's of IdP-geïnitieerd SSO configureert, het proces is eenvoudig.

  1. Maak een zakelijke connector Ga naar de Logto Console > Enterprise SSO en maak een nieuwe Enterprise Connector. Selecteer SAML als het protocolstandaard.
  2. Configureer SAML-parameters Verstrek de metadata URL of metadata XML-bestand van je IdP. Als de metadata niet beschikbaar is, schakel over naar handmatige configuratie door de IdP Entity ID, SSO URL in te voeren en het Signing-certificaat te uploaden.
  3. Deel de ACS URL en SP Entity ID Verspreid de ACS URL en SP Entity ID van Logto aan je IdP om de integratie-instelling te voltooien.
  4. Map attributen (Optioneel) Configureer gebruikersgegevens mappingen, zoals e-mail of namen, om ervoor te zorgen dat informatie correct wordt doorgegeven tussen de IdP en Logto.
  5. Voeg zakelijke e-maildomeinen toe Voeg in het tabblad "SSO Experience" van de zakelijke connector een of meer e-maildomeinen toe. Dit zorgt ervoor dat alleen gebruikers met de gespecificeerde domeinen via SSO kunnen authentiseren.
  6. Schakel IdP-geïnitieerd SSO in (Optioneel) Schakel IdP-geïnitieerd SSO alleen in indien vereist door je zakelijke klanten. Deze functie stelt gebruikers in staat om rechtstreeks vanaf het IdP-dashboard in te loggen op je applicaties.

logto-enterprise-saml-sso.png

Voor gedetailleerde begeleiding, bezoek de officiële documentatie hier: Enterprise SSO documentatie.

Afsluitende gedachten

SAML biedt een gestandaardiseerde, veilige methode voor SSO, waardoor authenticatie soepeler verloopt. Logto vereenvoudigt het proces, of je het nu instelt als een IdP of SP. Met zijn gebruiksvriendelijke interface en ondersteuning voor zowel cloud als open-source versies, neemt Logto de complexiteit van SAML-integratie weg. Met slechts enkele parameters configureren, kun je je diensten verbinden met elke SAML IdP of SP en je richten op het creëren van geweldige gebruikerservaringen.