OpenCCT
OpenCCT: Authentification SSO OpenID connect - Acceuil

Le protocole OpenID Connect est la couche d'authentification du protocole d'autorisation OAuth 2.0. Grâce à ses qualités de fiabilité et de robustesse, OAuth commence à s'imposer et les serveurs d'authentification/autorisation qui l'implémentent sont de plus en plus nombreux et fiables.

OpenCCT est un module/composant Java qui implémente le protocole OpenID Connect du côté client. A ce titre il permet à une application Java/JEE qui l'utilise d'intégrer une fonctionnalité d'authentification SSO des utilisateurs de manière très simple:

  • Simple ajout du binaire du module (par une dépendance Maven par exemple).
  • Très peu de modification du code de l'application.
  • Simple paramétrage par fichier de configuration.
Malgrés la relative complexité des fonctionnalités implémentées pour garantir la sécurité, le code d'OpenCCT reste simple à aborder et à en étudier le contenu. Il garantit ainsi une transparence totale quant à son fonctionnement.

 
Environnement de fonctionnement
OpenCCT OpenID Connect client

Une application web Java/JEE qui utilise OpenCCT doit intégrer le paquet binaire du composant. Elle doit aussi comporter le paramétrage adéquat dans son descripteur de déploimenet web (web.xml). Ce paramétrage assure le lien entre l'application et le composant via le filtre HTTP fourni par OpenCCT.

Dans ces conditions, si un utilisateur souhaite accéder à la zone protégée de l'application (étape 1):

  1. S'il n'est pas déjà authentifié auprès du serveur d'authentification: il sera redirigé vers ce serveur pour se connecter (étape 2).
  2. S'il est déjà authentifié auprès du serveur d'authentification: il sera déclaré comme étant connecté.
Dans les deux cas les échanges entre OpenCCT et le serveur d'authentification (étape 3) permettent de confirmer l'identité de l'utilisateur, récupérer les informations à propos de cette identité et les mettre à disposition de l'application.

 
Statut

OpenCCT est un logiciel libre et opensource. Il est publié sous licence GNU LGPL v3+

Dernière version: 0.8.1 β