Aller au contenu principal

Cas d’usage

Onboarding OAuth2 SuperPDP (Authorization Code + KYB)

Flow PKCE pour KYB sub-tenant via popup SuperPDP

Pour onboarder un nouveau sub-tenant (client final d'une SSII), Scell.io délègue le KYB et la vérification d'identité à SuperPDP via OAuth 2.0 Authorization Code (avec PKCE). Le widget JavaScript Scell.io (`onboarding.js` sur cdn.scell.io) ouvre un popup vers SuperPDP, le client final y saisit ses informations légales (SIRET, KBIS), passe la vérification d'identité, et SuperPDP redirige vers le callback Scell.io avec un `code`. Côté backend, `POST /onboarding/superpdp/callback` échange le code contre des tokens OAuth (access + refresh) qui sont stockés chiffrés au niveau du sub-tenant. Le tenant Scell.io est créé automatiquement avec les informations vérifiées par SuperPDP.

À retenir

  • OAuth 2.0 Authorization Code + PKCE
  • Widget JS sur `cdn.scell.io/widget/v1/onboarding.js`
  • KYB + identity check délégués à SuperPDP
  • Endpoints : `POST /onboarding/superpdp/authorize` + `/callback`
  • Tokens OAuth stockés chiffrés AES-256-GCM par sub-tenant
  • Refresh token rotation à chaque utilisation

Exemple de code

// Frontend : intégration du widget dans une page React
import { useEffect } from 'react';

declare global { interface Window { ScellOnboarding?: any } }

export function OnboardingButton({ publishableKey }: { publishableKey: string }) {
  useEffect(() => {
    const script = document.createElement('script');
    script.src = 'https://cdn.scell.io/widget/v1/onboarding.js';
    script.async = true;
    document.body.appendChild(script);
    return () => { script.remove(); };
  }, []);

  return (
    <button onClick={() => window.ScellOnboarding?.open({
      publishableKey,
      onComplete: (subTenant) => console.log('Sub-tenant onboarded:', subTenant.id),
      onError: (err) => console.error(err),
    })}>Démarrer l'onboarding</button>
  );
}

Voir aussi

Vos préférences cookies

Nous utilisons des cookies pour améliorer votre expérience. Les cookies essentiels sont toujours actifs. Politique cookies.