Class: controllerSesalabSsoServer

controllerSesalabSsoServer()

new controllerSesalabSsoServer()

Controleur pour gérer les routes du module sesalab-sso (SSO entre sesalab et sesatheque)

Source:

Members

client :sesalabSsoClient

Type:
Source:

server :sesalabSsoServer

Type:
Source:

Methods

(static) getClientsLogoutUrl() → {Array.<string>}

Retourne la liste des urls de logout des clients,
pour la fournir dans le navigateur à notre fct sesalabSso_logout de logout.bundle.js

Source:
Returns:
Type
Array.<string>

(static) loginOnClients(context, appUseropt, clientBasesopt)

Lance le chaînage des redirections vers les clients

  • si appUser est fourni, réinitialise la session sesalabSso avec la liste des logins à propager
    (vers les clientBases si fourni, ou par défaut vers tous les clients référencés)
  • sinon, regarde s'il reste des propagations pour les faire, et redirige vers afterLogin sinon
Parameters:
Name Type Attributes Description
context context
appUser object <optional>

user de l'appli serveur qui sera casté en User

clientBases Array.<string> <optional>

Une éventuelle liste de baseUrl de clients si on veut pas tous les appeler

Source:

(inner) cacheGetOrRetry(context, key, next)

Rappelle next avec la valeur de la clé ou une erreur si on a déjà rééssayé plus de maxRetries fois,
sinon fait un redirect vers la même url en incrémentant le nb de retries

Parameters:
Name Type Description
context
key
next
Source:

(inner) getLoginUrl() → {string}

Retourne l'url de connexion sur le serveur

Source:
Returns:
Type
string

(inner) getLogoutUrl() → {string}

Retourne l'url de déconnexion sur le serveur

Source:
Returns:
Type
string

(inner) login(context, urlApp)

Redirige vers le login du serveur d'authentification et reviendra vers urlApp

Parameters:
Name Type Description
context
urlApp
Source:

(inner) logout(context)

Redirige vers le logout du serveur d'authentification

Parameters:
Name Type Description
context
Source:

(inner) redirectToClient(context, client, user)

génère un token, met en cache le user associé et redirige vers le client

Parameters:
Name Type Description
context
client
user
Source:

(inner) setLoginCallback(loginCallback)

Affecte la callback de login (les applis peuvent avoir besoin de le préciser après le boot pour utiliser
des services pas encore dispo lors de la déclaration de la configuration)

Parameters:
Name Type Description
loginCallback

callback qui sera appelée avec (error, user) (pour connecter un user sur l'appli cliente)

Source:

(inner) setLogoutCallback(logoutCallback)

Affecte la callback de logout (les applis peuvent avoir besoin de le préciser après le boot pour utiliser
des services pas encore dispo lors de la déclaration de la configuration)

Parameters:
Name Type Description
logoutCallback

callback qui sera appelée avec (context, user) (pour déconnecter un user sur l'appli cliente)

Source:

defaultErrorCallback(context, error)

Gestionnaire par défaut des erreurs qui les affiche en plain-text

Parameters:
Name Type Description
context Context
error Error
Source:

errorCallback(context, error)

Rappelle la cb imposée par setErrorCallback, ou à défaut l'erreur en text/plain

Parameters:
Name Type Description
context Context
error Error | string
Source:

GET /sesalabSso/afterlogin()

Au retour d'un login chez un client

Source:

GET /sesalabSso/validate()

Répond à une demande de validation d'un token (appel direct du nodejs d'un site client, donc pas de session)
On récupère le authToken qui permettra de le rappeler dans le header authorization

Source:

getAuthServer(baseUrl) → {AuthServerDef}

Retourne un authServer si on trouve sa baseUrl en config

Parameters:
Name Type Description
baseUrl string
Source:
Returns:
Type
AuthServerDef

getBaseConfig(componentConfig, baseUrl) → {Object}

Retourne la config de base, commune à $sesalabSsoServer et $sesalabSsoClient

Parameters:
Name Type Description
componentConfig object
baseUrl string
Source:
Returns:
Type
Object

loginCallback(context, user, next)

Wrapper de la loginCallback courante

Parameters:
Name Type Description
context
user
next
Source:

logoutCallback(context, next)

Wrapper de la loginCallback courante

Parameters:
Name Type Description
context
next
Source:

setClient(props)

Affecte des nouvelles propriétés de client

Parameters:
Name Type Description
props object
Source:

setErrorCallback(errorCb)

Affecte la callback d'erreur

Parameters:
Name Type Description
errorCb function

appelée avec (context, error)

Source:

Type Definitions

AuthServer

Type:
  • Object
Properties:
Name Type Attributes Description
baseUrl string

url absolue avec / de fin

validate string

url relative du validate

loginPage string

url relative du form d'authentification

logoutPage string

url relative de la page qui fera toutes les déconnexions en ajax et affichera le résultat

errorPage string

url relative de la page qui affichera une erreur

ip string | RegExp | function <optional>

ip qui répond au validate
peut être une ip (v4 ou v6)
ou une RegExp
ou une fct (qui doit renvoyer un booléen en reçevant une ip)

Source:

AuthServer

Type:
  • Object
Properties:
Name Type Attributes Description
baseUrl string

url absolue avec / de fin

validate string

url relative du validate

loginPage string

url relative du form d'authentification

logoutPage string

url relative de la page qui fera toutes les déconnexions en ajax et affichera le résultat

errorPage string

url relative de la page qui affichera une erreur

ip string | RegExp | function <optional>

ip qui répond au validate
peut être une ip (v4 ou v6)
ou une RegExp
ou une fct (qui doit renvoyer un booléen en reçevant une ip)

Source:

Client

Type:
  • Object
Properties:
Name Type Attributes Description
baseUrl string

url absolue avec / de fin

login string

url vers laquelle rediriger, qui lancera le validate et redirigera vers le serveur

logout string

url à appeler en ajax pour déconnecter

ip string | RegExp | function <optional>

ip qui appellera le validate
peut être une ip (v4 ou v6)
ou une RegExp
ou une fct (qui doit renvoyer un booléen en reçevant une ip)

Source:

loginCallback(context, user, next)

Parameters:
Name Type Description
context Context
user User
next simpleCallback
Source:

logoutCallback(context, next)

Parameters:
Name Type Description
context Context
next simpleCallback
Source:

sesalabSsoClient

La définition du client une fois normée par init

Type:
  • Object
Properties:
Name Type Attributes Default Description
baseUrl string
timeout number <optional>
10

Timeout des appels du validate (en s)

prefix string <optional>
sesalabSso

Préfixe des routes de ce module

authServers Array.<AuthServer>

La liste des serveurs d'authentification

loginCallback function

Logue le user localement, appelée avec (context, user, next), doit rappeler next(error)

logoutCallback function

Déconnecte le user courant localement, appelée avec (context, next), doit rappeler next(error)

Source:

sesalabSsoServer

Type:
  • Object
Properties:
Name Type Attributes Default Description
baseUrl string
timeout number <optional>
10

Timeout des appels du validate (en s), la durée de mise en cache des token sera du double

prefix string <optional>
sesalabSso

Préfixe des routes de ce module (client et serveur)

clients Array.<Client>

La liste des applis clientes (donc on est serveur)

afterClientsPage string

url de redirect sur l'appli serveur après login sso chez les clients

errorPage string
loginPage string
logoutPage string
validate string
afterlogin string
authServers Array.<AuthServer>

La liste des serveurs d'authentification (donc on est client)

Source:

simpleCallback(erroropt)

Parameters:
Name Type Attributes Description
error Error <optional>
Source: