1,6 → 1,5 |
package org.tela_botanica.del.client.services.rest; |
|
import org.tela_botanica.del.client.Del; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.modeles.AuthInfo; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
97,15 → 96,12 |
// par défaut, on appelle d'abord le service auth/identite de l'annuaire, afin de connaître |
// le statut de l'utilisateur vis à vis du SSO (connecté ou non) et rafraîchir le jeton |
if (! ignorerAnnuaire) { |
// ne transmet pas le header Authorization, sans quoi l'annuaire rafraîchit le |
// jeton mis en cache et on ne peut pas se déconnecter depuis une autre application |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, authBaseUrl + "identite", false); |
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.GET, authBaseUrl + "identite"); |
try { |
rb.sendRequest(null, new AuthCallback() { |
public void surErreur(String message) { |
// Si l'annuaire n'est pas content (déconnecté depuis ailleurs ou jeton expiré), on va |
// chercher un profil utilisateur "anonyme" et on déconnecte dans l'interface |
gererRetourAuthInfo(new AuthInfo(), callback); |
// Même si l'annuaire n'est pas content, on va chercher un profil utilisateur "anonyme" |
obtenirUtilisateurSansAnnuaire(callback); |
} |
@Override |
public void surRetour(AuthInfo objetRetour) { |
152,7 → 148,7 |
* @param objetRetour le retour de l'appel au service annuaire:auth (connexion, deconnexion ou identite) |
* @param callback |
*/ |
protected void gererRetourAuthInfo(AuthInfo objetRetour, final UtilisateurCallback callback) { |
protected void gererRetourAuthInfo(AuthInfo objetRetour, UtilisateurCallback callback) { |
// Stockage du jeton rafraîchi et de sa durée (pourrait avoir changé) |
Utilisateur.setJeton(objetRetour.token); |
Utilisateur.setDureeJeton(objetRetour.duration); |
168,7 → 164,7 |
// Appel de l'annuaire pour rafraîchir le jeton (cb nul pour l'instant) |
// @TODO gérer le possible changement de profil / coordonnées de l'utilisateur |
// en cours de connexion |
obtenirUtilisateur(callback); |
obtenirUtilisateur(null); |
} |
}; |
rafraichisseurJeton.scheduleRepeating(delaiRepetition); |