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 |
- 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 |
- 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 |
- 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: