Aller au contenu

Configuration SSO

Configurer OIDC ou SAML par tenant pour une redirection automatique vers votre IdP.

Argy supporte SSO OIDC et SAML 2.0 par tenant. Chaque organisation peut connecter son propre Identity Provider (IdP). L'utilisateur saisit son email — Argy détecte automatiquement le bon IdP et le redirige sans aucune configuration côté utilisateur.

Prérequis

  • Rôle PLATFORM_ADMIN sur votre organisation Argy
  • Un IdP OIDC ou SAML configuré avec les paramètres de callback ci-dessous
  • Un token d'accès Argy (PAT ou session admin)

Configuration OIDC

1. Paramètres à enregistrer dans votre IdP

Avant de configurer Argy, créez une application dans votre IdP avec ces valeurs :

Paramètre IdPValeur
Redirect URIhttps://iam.argy.cloud/v1/auth/callback/oidc
Type de fluxAuthorization Code
Scopes requisopenid email profile

Pour une instance on-prem, remplacez iam.argy.cloud par l'URL de votre instance IAM.

2. Créer la configuration OIDC dans Argy

POST /v1/oidc/config
x-tenant-id: <votre-tenant-id>
Authorization: Bearer <token-admin>
Content-Type: application/json

{
  "issuer": "https://login.microsoftonline.com/<directory-id>/v2.0",
  "clientId": "<application-client-id>",
  "clientSecret": "<client-secret>",
  "scopes": ["openid", "email", "profile"],
  "enabled": true
}

Réponse :

{
  "issuer": "https://login.microsoftonline.com/.../v2.0",
  "clientId": "...",
  "clientSecret": "***",
  "scopes": ["openid", "email", "profile"],
  "enabled": true
}

Le clientSecret est stocké de manière sécurisée et ne sera plus jamais retourné en clair.

3. Paramètres optionnels

ChampDéfautDescription
discoveryUrlDéduit de l'issuerURL de discovery OpenID si différente de la valeur standard
scopes["openid","email","profile"]Claims supplémentaires (ex : groups)
enabledtrueActive ou désactive le SSO pour ce tenant

4. Exemples par IdP

Microsoft Entra ID (Azure AD)

{
  "issuer": "https://login.microsoftonline.com/<TENANT_ID>/v2.0",
  "clientId": "<APP_CLIENT_ID>",
  "clientSecret": "<APP_CLIENT_SECRET>",
  "scopes": ["openid", "email", "profile"]
}

Dans le portail Azure :

  1. App registrations → votre app → Authentication
  2. Ajoutez https://iam.argy.cloud/v1/auth/callback/oidc comme Redirect URI (type : Web)
  3. Dans Token configuration, cochez ID tokens

Okta

{
  "issuer": "https://<domain>.okta.com/oauth2/default",
  "clientId": "<CLIENT_ID>",
  "clientSecret": "<CLIENT_SECRET>"
}

Dans Okta :

  1. Applications → Create App Integration → OIDC, Web Application
  2. Sign-in redirect URIs : https://iam.argy.cloud/v1/auth/callback/oidc
  3. Grant type : Authorization Code

Google Workspace

{
  "issuer": "https://accounts.google.com",
  "clientId": "<CLIENT_ID>.apps.googleusercontent.com",
  "clientSecret": "<CLIENT_SECRET>"
}

Dans Google Cloud Console :

  1. APIs & Services → Credentials → Create OAuth 2.0 Client ID (type : Web application)
  2. Authorized redirect URIs : https://iam.argy.cloud/v1/auth/callback/oidc

Configuration SAML 2.0

1. Paramètres SP à fournir à votre IdP

ParamètreValeur
Entity ID (SP)https://argy.cloud/saml/metadata
ACS URLhttps://iam.argy.cloud/v1/auth/saml/acs
BindingHTTP POST
NameID Formaturn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
Signatures requisesOui — assertions et réponse

Le fichier de métadonnées SP complet est disponible à : https://iam.argy.cloud/v1/saml/metadata

2. Créer la configuration SAML dans Argy

POST /v1/saml/config
x-tenant-id: <votre-tenant-id>
Authorization: Bearer <token-admin>
Content-Type: application/json

{
  "entityId": "https://idp.monentreprise.com",
  "ssoUrl": "https://idp.monentreprise.com/saml/login",
  "certificate": "-----BEGIN CERTIFICATE-----\nMIIC...\n-----END CERTIFICATE-----",
  "wantAssertionsSigned": true,
  "wantResponseSigned": true,
  "nameIdFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
  "attributeMapping": {
    "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
    "displayName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
    "firstName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
    "lastName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
  },
  "enabled": true
}

3. Exemples par IdP

Microsoft Entra ID (SAML)

Dans le portail Azure → Enterprise applications → créer une application :

  1. Single sign-on → SAML
  2. Identifier (Entity ID) : https://argy.cloud/saml/metadata
  3. Reply URL (ACS URL) : https://iam.argy.cloud/v1/auth/saml/acs
  4. Téléchargez le certificat de signature (Base64) depuis la section "SAML Signing Certificate"

Okta (SAML)

Dans Okta → Applications → Create App Integration → SAML 2.0 :

  1. Single sign on URL : https://iam.argy.cloud/v1/auth/saml/acs
  2. Audience URI (SP Entity ID) : https://argy.cloud/saml/metadata
  3. Attribute Statements : mappez email, firstName, lastName depuis les attributs de profil Okta

Flux de connexion

Une fois configuré, le flux est entièrement automatique pour vos utilisateurs :

  1. L'utilisateur ouvre le portail Argy et saisit son adresse email
  2. Argy détecte la configuration SSO du tenant → redirige vers votre IdP
  3. L'utilisateur s'authentifie sur votre IdP (MFA inclus si configuré)
  4. Retour automatique sur Argy avec une session active
  5. À la première connexion : le compte Argy est créé automatiquement avec le rôle PLATFORM_USER

Aucune action manuelle n'est requise de la part des utilisateurs finaux.

Gestion de la configuration

Consulter la configuration active

GET /v1/oidc/config
x-tenant-id: <tenant-id>
Authorization: Bearer <token-admin>

Mettre à jour (ex : rotation du secret)

PUT /v1/oidc/config
x-tenant-id: <tenant-id>
Authorization: Bearer <token-admin>

{ "clientSecret": "<nouveau-secret>" }

Désactiver temporairement le SSO

PUT /v1/oidc/config
x-tenant-id: <tenant-id>
Authorization: Bearer <token-admin>

{ "enabled": false }

Quand SSO est désactivé, les magic links redeviennent disponibles pour les utilisateurs.

Supprimer la configuration

DELETE /v1/oidc/config
x-tenant-id: <tenant-id>
Authorization: Bearer <token-admin>

Vérification

Après configuration, testez depuis un navigateur privé :

  1. Ouvrez https://app.argy.cloud/login
  2. Saisissez une adresse email de votre domaine
  3. Vous devez être redirigé automatiquement vers votre IdP (sans choisir manuellement le provider)
  4. Après authentification, vous arrivez directement dans Argy

En cas d'erreur, consultez les audit logs dans le portail Argy (Gouvernance → Audit) — chaque tentative SSO est tracée avec un code d'erreur détaillé.