Tags:
create new tag
, view all tags

API du serveur CDSLogin

Classes principales

La classe ServiceServlet est la servet qui reçoit les requêtes. Elle extrait les paramètres communs à toutes les requêtes (voir ci-dessous), puis demande à la classe CommandHandler d'exécuter la commande. CommandHandler analyse les autres paramètres, utilise les services de la classe LoginServiceImpl pour l'accès aux services de CDSLoginInternal, puis met en forme le résultat, dans une classe Response.

Paramètres communs à tous les points d'entrée

Ci-dessous sont listés les paramètres qui sont communs à toutes les commandes. La casse des noms des paramètres n'a aucune importance (contrairement aux paramètres spécifiques à chaque commande, qui eux doivent forcément être en minuscule) :

command

C'est le nom de la commande à exécuter. La liste des commandes connues est données un peu plus bas. La casse des noms des commandes n'a aucune importance. Ce paramètre est obligatoire.

format

Le format dans lequel les données seront renvoyées. Ce paramètre est optionnel. La casse n'a pas d'importance. La valeur par défaut est xml. Le seul autre format reconnu est json. Tous les exemples de résultat ci-dessous sont au format json.

Commandes reconnues

La plupart des commandes utilise le service du serveur CdsLoginInternalApi.

Nom de la commande Commande CdsLoginInternalApi utilisée Commentaires
activate activate Si le format est xml, une redirection a lieu après la commande. Si l'activation est réussie, c'est vers la page activatedDone.html, sinon c'est vers la page activatedError.html.
resetPassword   Cette commande est définie, mais n'est pas implémentée. C'est donc équivalent à une commande inconnue.
login login Cette commande permet à un utilisateur de s'identifier. La commande prend 2 arguments obligatoire : username et password. Elle prend aussi un argument optionnel permanentConnection, dont la valeur doit true, pour qu'elle soit vraie. Si l'argument n'existe pas ou a une autre valeur que true, c'est la valeur false qui est assumée.
anonymousUserId username  
sessionId   Renvoie la session courante, ou en crée une nouvelle si nécessaire.
getSessionInfo data Renvoie la session courante, ou en crée une nouvelle si nécessaire, puis utilise le service data, pour ajouter des informations sur l'utilisateur courant. Un commentaire dans le code dit que c'est «\x{202f}utilisé par le plugin jquery-UI développé par Grégory\x{202f}».
userId username Valide le userId. Mais ça rend le userId lui-même, si l'utilisateur est valide.
logout   Invalide la session courante et mets à jour les cookies cdsUsername (vide), cdsPassword (vide) et cdsPermanentConnection (false).
username username Ça a l'air de faire la même chose que la commande anonymousUserId.
createUser createUser Ajoute l'argument ip lors de l'appel vers CDSLoginIntenal, en prenant request.getRemoteAddr().
data data  
askForNewPassword askForNewPassword  
preferences preferences  
prettyNames prettyNames  
updatePreferences updatePreferences  
changePassword updatePassword  
updateRole updateRole  
updateStatus updateStatus  
updateEmail updateEmail Pour un admin qui veut changer unilatéralement le mail d'un utilisateur
usersAsItems users Renvoie la liste des utilisateurs au format json
getUser users  
permanentConnection   Renvoie true ou false selon la valeur du cookie indiquant si la connection est permanente
isSessionAnonyme username Vérifie si le username est celui d'un compte anonyme
newEmail newEmail Création d'une demande de changement d'email
emailConfirmation confirmEmail Affiche une page HTML indiquant le résultat de la confirmation

-- PascalWassong - 2017-01-16

Topic revision: r5 - 2017-02-22 - PascalWassong
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback