Le SSO via CAS (Central Authentication Service)

Qu'est-ce que le SSO via CAS (Central Authentication Service) et comment fonctionne-t-il chez Beetween ?

Qu'est-ce que le SSO via CAS ?


Le SSO via CAS est une fonctionnalité permettant d'authentifier un utilisateur auprès d'un serveur CAS (Central Authentication Service) via le protocole de délégation d'autorisation OAuth (Open Authorization).

Comment le SSO via CAS fonctionne-t-il ?


Le SSO via CAS établit une correspondance entre les utilisateurs du CAS et les utilisateurs Beetween. Afin d'identifier l'utilisateur dans son système, Beetween reconstruit son login à partir de son identifiant CAS et du nom de domaine de sa structure (@domaine-structure.xxx).

Ainsi, pour une structure dont le nom de domaine est "domaine.fr" par exemple, si un utilisateur a pour identifiant CAS "jmartin", Beetween recherchera dans son système un compte ayant pour login "jmartin@domaine.fr".

Vous devez donc nous fournir un mapping entre l'adresse e-mail de vos utilisateurs et leur identifiant CAS, comme illustré ci-dessous :

Adresse e-mail Jean Martin / Identifiant CAS : jmartin@domaine.fr / 123ui9
Adresse e-mail Pierre Bernard / Identifiant CAS : pbernard@domaine.fr / 1a093ui9


L'idéal étant que vous nous fournissiez un compte de test afin que nous puissions vérifier que le processus d'authentification fonctionne correctement. Nous aurons également besoin de votre clientId ainsi que de l'URL de votre serveur CAS ("cas.univ.xx;xxxx" par exemple) pour configurer votre SSO. Nous allons y revenir ci-dessous.

Et de votre côté ?


Vous devez configurer votre serveur afin d'autoriser Beetween à interroger votre base d'utilisateurs. Comme nous l'évoquions ci-dessus, la communication entre Beetween et votre serveur CAS se fait via le protocole OAuth. Beetween peut vous transmettre l'adresse IP des serveurs à autoriser si besoin.

Vous trouverez ci-dessous un exemple de configuration ayant été mise en place. Le modèle peut varier selon la version du serveur CAS (cf. Client Registration - OAuth Authentication).

{
  "@class" : "org.apereo.cas.support.oauth.services.OAuthRegisteredService",
  "clientId": "xxxxx",
  "serviceId" : "https://[a-zA-Z0-9]+\.beetween.com/.*",
  "name" : "OAuthService",
  "id" : xxx,
    "attributeReleasePolicy" :
    {
      "@class": "org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy",
      "authorizedToReleaseCredentialPassword": "false",
      "authorizedToReleaseProxyGrantingTicket": "false",
      "excludeDefaultAttributes": "true",
      "authorizedToReleaseAuthenticationAttributes": "false",
      "allowedAttributes": ["java.util.ArrayList",
        [
          "mail",
          "displayName"
        ]
      ]
    }
}


Une fois la configuration faite sur votre serveur CAS, vous devez nous envoyer votre clientId ainsi que l'URL de votre serveur CAS afin que nous puissions réaliser le paramétrage.

Et après ?


Une fois votre connecteur SSO paramétré, Beetween va vous fournir une URL de connexion vous permettant de l'utiliser. Voici comment le SSO CAS fonctionne une fois la configuration terminée :

  1. Rendez-vous sur la page de connexion Beetween grâce à l'URL qui vous a été fournie ;

  2. Cliquez sur "Se connecter avec [Nom de votre structure]", une pop-up vous permettant de vous identifier avec vos identifiants CAS s'ouvre alors ;

  3. Identifiez-vous auprès de votre CAS ;

  4. Le token est alors récupéré ;

  5. Le login l'est également, grâce au token (Il est fait appel à l'API Microsoft Graph.) ;

  6. Vous êtes authentifié grâce au login et connecté à Beetween.

💡 Si les identifiants saisis ne sont pas les bons, la pop-up se ferme et un message d'erreur s'affiche sur la page de connexion Beetween.

🚀 Pour aller plus loin…


Le processus utilisé pour l’authentification est l’implicit flow, ce qui est amené à évoluer à l’avenir.