Single Sign-On (SSO)

Met Single Sign-On (SSO) kunnen gebruikers inloggen op Copernica Marketing Suite via een extern identity platform. In plaats van in te loggen via Copernica, kan de authenticatie worden uitgevoerd met een eigen systeem.

Copernica ondersteunt hiervoor de standaard OAuth2 Authorization Code flow, waarbij Copernica optreedt als client en het externe platform als identity provider (authorization server). De koppeling tussen Copernica en een extern platform gebeurt in samenspraak met Copernica

Hoe het werkt

De loginflow verloopt dan als volgt:

  1. De gebruiker logt in via een eigen platform of dashboard
  2. Vanuit het klantplatform opent de gebruiker de Copernica Marketing Suite via een speciale URL: https://ms.copernica.com?sso=IDENTIFIER.
  3. Copernica herkent de sso parameter en start de OAuth-flow met de identity provider
  4. De gebruiker wordt doorgestuurd naar het authorization endpoint van de identity provider
  5. Na succesvolle authenticatie wordt de gebruiker teruggestuurd naar Copernica met een authorization code.
  6. Copernica wisselt deze code server-side om voor een access token en de toegangsgegevens van de gebruiker.
  7. Op basis van deze informatie wordt de gebruiker ingelogd in Copernica

Terugredirect naar Copernica

Na succesvolle authenticatie op het externe platform moet de gebruiker worden teruggestuurd naar Copernica via de redirect URI. Hierbij moeten minimaal de volgende parameters worden meegegeven:

  • sso: de sso identifier gelijk aan hierboven beschreven in stap 2.
  • code: de authorization code die door Copernica gebruikt kan worden om server-side een access token op te halen
  • state: een parameter die door Copernica is meegegeven in de initiële request en nu moet worden teruggestuurd ter validatie

De redirect URL ziet er in de basis als volgt uit:

https://ms.copernica.com/?sso=IDENTIFIER&code=AUTHORIZATION_CODE&state=STATE_VALUE

De parameter code is essentieel voor het voltooien van de OAuth-flow. Zonder deze parameter kan Copernica de gebruiker niet succesvol authenticeren. De parameter state wordt gebruikt om de integriteit van de flow te waarborgen en helpt bij het voorkomen van CSRF-aanvallen.

Benodigde configuratie

Om SSO in te stellen, heeft Copernica de volgende gegevens van een identity platform nodig:

  • Client ID
  • Client Secret
  • Authorization endpoint (endpoint waar gebruikers naartoe worden gestuurd om te authenticeren)
  • Token endpoint (endpoint waarmee Copernica een authorization code kan omwisselen voor een token en inzage in de toeganhsrechten)
  • Aanvullende parameters Zoals een tenantID of andere informatie relevant voor het externe platform

De client credentials (client ID en client secret) worden door Copernica gebruikt om veilig met het externe platform te communiceren. Deze worden niet client-side gebruikt.

Activatie

Na het aanleveren van bovenstaande gegevens configureert Copernica de koppeling en ontvang je een unieke identifier. Deze identifier wordt gebruikt in de SSO login URL:

https://ms.copernica.com?sso=IDENTIFIER

Deze URL kan worden geïntegreerd in een extern platform, bijvoorbeeld in een intranet of dashboard, waardoor gebruikers vanuit hun eigen platform rechtstreeks kunnen linken naar Copernica zonder dat een extra inlog nodig is.

Belangrijke aandachtspunten

  • Copernica fungeert als OAuth client; het eigen platform is verantwoordelijk voor authenticatie
  • De OAuth-flow verloopt volledig server-side tussen Copernica en de identity provider
  • De frontend van het eigen platform hoeft geen OAuth-implementatie richting Copernica te bevatten
  • Gebruikers moeten al bestaan in Copernica; SSO regelt alleen authenticatie, niet autorisatie of provisioning

Aanvullende mogelijkheden

In overleg kunnen aanvullende toegangs- en integratiemogelijkheden worden afgestemd. Hierbij kan worden gedacht aan het automatisch aanmaken van nieuwe gebruikersprofielen op het moment dat een gebruiker succesvol is geautoriseerd via het externe platform (zogenaamde just-in-time provisioning). Daarnaast is het mogelijk om toegang tot Copernica te beperken op basis van specifieke criteria, zoals domeinnamen of individuele e-mailadressen, zodat alleen geautoriseerde gebruikers toegang krijgen tot de omgeving.

Ook kan het externe platform aanvullende toegangsinformatie aanleveren tijdens de authenticatieflow. Denk hierbij aan gebruikersrollen, rechten, groepen of andere attributen die gebruikt kunnen worden om binnen Copernica automatisch de juiste toegangsrechten toe te kennen. Op deze manier kan de autorisatie dynamisch worden afgestemd op de gegevens die vanuit het externe identity platform worden meegegeven.

Andere wensen en uitbreidingen rondom authenticatie, autorisatie en gebruikersbeheer kunnen in overleg worden afgestemd en op maat worden ingericht.