Authentification
Table of Contents
Packages
Functions
- action_auth_dist() : mixed
- Retour d'authentification pour les SSO
- action_logout_dist() : mixed
- Se déloger
- generer_jeton_logout() : string
- Generer un jeton de logout personnel et ephemere
- verifier_jeton_logout() : bool
- Verifier que le jeton de logout est bon
- creer_pass_aleatoire() : string
- Créer un mot de passe
- creer_uniqid() : string
- Créer un identifiant aléatoire
- charger_aleas() : string
- Charge les aléas ehpémères s'il ne sont pas encore dans la globale
- renouvelle_alea() : mixed
- Renouveller l'alea (utilisé pour sécuriser les scripts du répertoire `action/`)
- low_sec() : string
- Retourne une clé de sécurité faible (low_sec) pour l'auteur indiqué
- securiser_acces_low_sec() : bool
- Vérifie un accès à faible sécurité
- generer_url_api_low_sec() : string
- Generer une url xxx.api/$id_auteur/$cle/$format/$fond?$args
- afficher_low_sec() : string
- Retourne une clé basée sur le low_sec de l'auteur et l'action demandé
- verifier_low_sec() : bool
- Vérifie une clé basée sur le low_sec de l'auteur et l'action demandé
- effacer_low_sec() : mixed
- Efface la clé de sécurité faible (low_sec) d'un auteur
- ecrire_acces() : null|void
- Créer un fichier htpasswd
- generer_htpasswd_files() : mixed
- Generer le fichier de htpasswd contenant les htpass
- generer_htpass() : void|string
- Créer un password htaccess
- verifier_htaccess() : bool
- Installe ou vérifie un fichier .htaccess, y compris sa prise en compte par Apache
- gerer_htaccess() : string
- Créer un fichier .htaccess pour chaque répertoire d'extension dans `_DIR_IMG` si la configuration le demande
- inc_auth_dist() : array<string|int, mixed>|int|string
- Teste l'authentification d'un visiteur
- auth_controler_password_auteur_connecte() : bool
- Vérifier qu'un mot de passe saisi pour confirmer une action est bien celui de l'auteur connecté
- auth_echec() : array<string|int, mixed>|string
- fonction appliquee par ecrire/index sur le resultat de la precedente en cas de refus de connexion.
- auth_mode() : array<string|int, mixed>|bool|string
- Retourne la description d'un authentifie par cookie ou http_auth Et affecte la globale $connect_login
- auth_init_droits() : array<string|int, mixed>|string|bool
- Initialisation des globales pour tout l'espace privé si visiteur connu
- auth_desensibiliser_session() : array<string|int, mixed>
- Enlever les clés sensibles d'une ligne auteur
- auth_a_loger() : string
- Retourne l'url de connexion
- auth_trace() : mixed
- Tracer en base la date de dernière connexion de l'auteur
- auth_administrer() : mixed
- Fonction privée d'aiguillage des fonctions d'authentification
- auth_formulaire_login() : array<string|int, mixed>
- Pipeline pour inserer du contenu dans le formulaire de login
- auth_retrouver_login() : string
- Retrouver le login interne lie a une info login saisie la saisie peut correspondre a un login delegue qui sera alors converti en login interne apres verification
- auth_informer_login() : array<string|int, mixed>
- informer sur un login Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur Il est invoque par la fonction JS actualise_auteur via la globale JS page_auteur=#URL_PAGE{informer_auteur} dans le squelette login N'y aurait-il pas plus simple ?
- auth_identifier_login() : mixed
- Essayer les differentes sources d'authenfication dans l'ordre specifie.
- auth_url_retour_login() : string
- Fournir une url de retour apres login par un SSO pour finir l'authentification
- auth_terminer_identifier_login() : mixed
- Terminer l'action d'authentification d'un auteur
- auth_loger() : bool
- Loger un auteur suite a son identification
- auth_deloger() : mixed
- Déconnexion de l'auteur
- auth_autoriser_modifier_login() : bool
- Tester la possibilité de modifier le login d'authentification pour la méthode donnée
- auth_verifier_login() : string
- Verifier la validite d'un nouveau login pour modification pour la methode donnee
- auth_modifier_login() : bool
- Modifier le login d'un auteur pour la methode donnee
- auth_autoriser_modifier_pass() : bool
- Tester la possibilité de modifier le pass pour la méthode donnée
- auth_verifier_pass() : string
- Verifier la validite d'un pass propose pour modification pour la methode donnee
- auth_modifier_pass() : bool
- Modifier le mot de passe d'un auteur pour la methode donnee
- auth_synchroniser_distant() : void
- Synchroniser un compte sur une base distante pour la methode donnée lorsque des modifications sont faites dans la base auteur
- lire_php_auth() : array<string|int, mixed>|bool
- Vérifier si l'auteur est bien authentifié
- ask_php_auth() : mixed
- entête php_auth (est-encore utilisé ?)
Functions
action_auth_dist()
Retour d'authentification pour les SSO
action_auth_dist() : mixed
action_logout_dist()
Se déloger
action_logout_dist() : mixed
Pour éviter les CSRF on passe par une étape de confirmation si pas de jeton fourni avec un autosubmit js pour ne pas compliquer l'expérience utilisateur
Déconnecte l'utilisateur en cours et le redirige sur l'URL indiquée par l'argument de l'action sécurisée, et sinon sur la page d'accueil de l'espace public.
generer_jeton_logout()
Generer un jeton de logout personnel et ephemere
generer_jeton_logout(array<string|int, mixed> $session[, null|string $alea = null ]) : string
Parameters
- $session : array<string|int, mixed>
- $alea : null|string = null
Return values
stringverifier_jeton_logout()
Verifier que le jeton de logout est bon
verifier_jeton_logout(string $jeton, array<string|int, mixed> $session) : bool
Il faut verifier avec alea_ephemere_ancien si pas bon avec alea_ephemere pour gerer le cas de la rotation d'alea
Parameters
- $jeton : string
- $session : array<string|int, mixed>
Return values
boolcreer_pass_aleatoire()
Créer un mot de passe
creer_pass_aleatoire([int $longueur = 16 ][, string $sel = '' ]) : string
Parameters
- $longueur : int = 16
-
Longueur du password créé
- $sel : string = ''
-
Clé pour un salage supplémentaire
Return values
string —Mot de passe
creer_uniqid()
Créer un identifiant aléatoire
creer_uniqid() : string
Return values
string —Identifiant
charger_aleas()
Charge les aléas ehpémères s'il ne sont pas encore dans la globale
charger_aleas() : string
Si les métas 'alea_ephemere' et 'alea_ephemere_ancien' se sont pas encore chargées en méta (car elles ne sont pas stockées, pour sécurité, dans le fichier cache des métas), alors on les récupère en base. Et on les ajoute à nos métas globales.
Tags
Return values
string —Retourne l'alea éphemère actuel au passage
renouvelle_alea()
Renouveller l'alea (utilisé pour sécuriser les scripts du répertoire `action/`)
renouvelle_alea() : mixed
low_sec()
Retourne une clé de sécurité faible (low_sec) pour l'auteur indiqué
low_sec(int $id_auteur) : string
low-security est un ensemble de fonctions pour gérer de l'identification faible via les URLs (suivi RSS, iCal...)
Retourne la clé de sécurité low_sec de l'auteur (la génère si elle n'exite pas) ou la clé de sécurité low_sec du site (si auteur invalide)(la génère si elle n'existe pas).
Parameters
- $id_auteur : int
-
Identifiant de l'auteur
Return values
string —Clé de sécurité.
securiser_acces_low_sec()
Vérifie un accès à faible sécurité
securiser_acces_low_sec(int $id_auteur, string $cle, string $dir[, string $op = '' ][, string $args = '' ]) : bool
Vérifie qu'un visiteur peut accéder à la page demandée, qui est protégée par une clé, calculée à partir du low_sec de l'auteur, et des paramètres le composant l'appel (op, args)
Parameters
- $id_auteur : int
-
L'auteur qui demande la page
- $cle : string
-
La clé à tester
- $dir : string
-
Un type d'accès (nom du répertoire dans lequel sont rangés les squelettes demandés, tel que 'rss')
- $op : string = ''
-
Nom de l'opération éventuelle
- $args : string = ''
-
Nom de l'argument calculé
Tags
Return values
bool —True si on a le droit d'accès, false sinon.
*@example
[(#ID_AUTEUR|securiser_acces{#ENV{cle}, rss, #ENV{op}, #ENV{args}}|sinon_interdire_acces)]
generer_url_api_low_sec()
Generer une url xxx.api/$id_auteur/$cle/$format/$fond?$args
generer_url_api_low_sec(string $script, string $format, string $fond, string $path, string $args[, bool $no_entities = false ][, bool|null $public = null ]) : string
Parameters
- $script : string
- $format : string
- $fond : string
- $path : string
- $args : string
- $no_entities : bool = false
- $public : bool|null = null
Return values
stringafficher_low_sec()
Retourne une clé basée sur le low_sec de l'auteur et l'action demandé
afficher_low_sec(int $id_auteur[, string $action = '' ]) : string
Parameters
- $id_auteur : int
-
Identifiant de l'auteur
- $action : string = ''
-
Action désirée
Tags
Return values
string —Clé
verifier_low_sec()
Vérifie une clé basée sur le low_sec de l'auteur et l'action demandé
verifier_low_sec(int $id_auteur, string $cle[, string $action = '' ]) : bool
Parameters
- $id_auteur : int
-
Identifiant de l'auteur
- $cle : string
-
Clé à comparer
- $action : string = ''
-
Action désirée
Tags
Return values
bool —true si les clés corresponde, false sinon
effacer_low_sec()
Efface la clé de sécurité faible (low_sec) d'un auteur
effacer_low_sec(int $id_auteur) : mixed
Parameters
- $id_auteur : int
-
Identifiant de l'auteur
ecrire_acces()
Créer un fichier htpasswd
ecrire_acces() : null|void
Cette fonction ne sert qu'à la connexion en mode http_auth.non LDAP. Voir le plugin «Accès Restreint»
S'appuie sur la meta creer_htpasswd
pour savoir s'il faut créer
le .htpasswd
.
Return values
null|void —- null si pas de htpasswd à créer, ou si LDAP
- void sinon.
generer_htpasswd_files()
Generer le fichier de htpasswd contenant les htpass
generer_htpasswd_files(string $htpasswd, string $htpasswd_admin) : mixed
Parameters
- $htpasswd : string
- $htpasswd_admin : string
generer_htpass()
Créer un password htaccess
generer_htpass(string $pass) : void|string
Parameters
- $pass : string
-
Le mot de passe
Tags
Return values
void|string —La chaîne hachée si fonction crypt présente, rien sinon.
verifier_htaccess()
Installe ou vérifie un fichier .htaccess, y compris sa prise en compte par Apache
verifier_htaccess(string $rep[, bool $force = false ]) : bool
Parameters
- $rep : string
-
Nom du répertoire où SPIP doit vérifier l'existence d'un fichier .htaccess
- $force : bool = false
Tags
Return values
boolgerer_htaccess()
Créer un fichier .htaccess pour chaque répertoire d'extension dans `_DIR_IMG` si la configuration le demande
gerer_htaccess() : string
Tags
Return values
string —Valeur de la configuration creer_htaccess
inc_auth_dist()
Teste l'authentification d'un visiteur
inc_auth_dist() : array<string|int, mixed>|int|string
Cette fonction ne fait pas l'authentification en soit ; elle vérifie simplement qu'une personne est connectée ou non.
Tags
Return values
array<string|int, mixed>|int|string —- URL de connexion si on ne sait rien (pas de cookie, pas Auth_user);
- un tableau si visiteur sans droit (tableau = sa ligne SQL)
- code numerique d'erreur SQL
- une chaîne vide si autorisation à pénétrer dans l'espace privé.
auth_controler_password_auteur_connecte()
Vérifier qu'un mot de passe saisi pour confirmer une action est bien celui de l'auteur connecté
auth_controler_password_auteur_connecte(string $password) : bool
Parameters
- $password : string
Return values
boolauth_echec()
fonction appliquee par ecrire/index sur le resultat de la precedente en cas de refus de connexion.
auth_echec( $raison) : array<string|int, mixed>|string
Retourne un message a afficher ou redirige illico.
Parameters
Return values
array<string|int, mixed>|stringauth_mode()
Retourne la description d'un authentifie par cookie ou http_auth Et affecte la globale $connect_login
auth_mode() : array<string|int, mixed>|bool|string
Return values
array<string|int, mixed>|bool|stringauth_init_droits()
Initialisation des globales pour tout l'espace privé si visiteur connu
auth_init_droits(array<string|int, mixed> $row) : array<string|int, mixed>|string|bool
Le tableau global visiteur_session contient toutes les infos pertinentes et
à jour (tandis que $visiteur_session
peut avoir des valeurs un peu datées
s'il est pris dans le fichier de session)
Les plus utiles sont aussi dans les variables simples ci-dessus si la globale est vide ce n'est pas un tableau, on la force pour empêcher un warning.
Parameters
- $row : array<string|int, mixed>
Return values
array<string|int, mixed>|string|boolauth_desensibiliser_session()
Enlever les clés sensibles d'une ligne auteur
auth_desensibiliser_session(array<string|int, mixed> $auteur) : array<string|int, mixed>
Parameters
- $auteur : array<string|int, mixed>
Return values
array<string|int, mixed>auth_a_loger()
Retourne l'url de connexion
auth_a_loger() : string
Return values
stringauth_trace()
Tracer en base la date de dernière connexion de l'auteur
auth_trace(array<string|int, mixed> $row[, null|string $date = null ]) : mixed
Parameters
- $row : array<string|int, mixed>
- $date : null|string = null
Tags
auth_administrer()
Fonction privée d'aiguillage des fonctions d'authentification
auth_administrer(string $fonction, array<string|int, mixed> $args[, mixed $defaut = false ]) : mixed
Charge une fonction d'authentification présente dans un répertoire auth/
.
Ainsi, utiliser auth_administrer('informer_login', array('spip', ...)
appellera
auth_spip_informer_login()
de ecrire/auth/spip.php
.
Parameters
- $fonction : string
-
Nom de la fonction d'authentification
- $args : array<string|int, mixed>
-
Le premier élément du tableau doit être le nom du système d'authentification choisi, tel que
spip
(par défaut) ou encoreldap
. - $defaut : mixed = false
Tags
auth_formulaire_login()
Pipeline pour inserer du contenu dans le formulaire de login
auth_formulaire_login(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
- $flux : array<string|int, mixed>
Return values
array<string|int, mixed>auth_retrouver_login()
Retrouver le login interne lie a une info login saisie la saisie peut correspondre a un login delegue qui sera alors converti en login interne apres verification
auth_retrouver_login(string $login[, string $serveur = '' ]) : string
Parameters
- $login : string
- $serveur : string = ''
Return values
stringauth_informer_login()
informer sur un login Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur Il est invoque par la fonction JS actualise_auteur via la globale JS page_auteur=#URL_PAGE{informer_auteur} dans le squelette login N'y aurait-il pas plus simple ?
auth_informer_login(string $login[, string $serveur = '' ]) : array<string|int, mixed>
Parameters
- $login : string
- $serveur : string = ''
Return values
array<string|int, mixed>auth_identifier_login()
Essayer les differentes sources d'authenfication dans l'ordre specifie.
auth_identifier_login(string $login, string $password[, string $serveur = '' ][, bool $phpauth = false ]) : mixed
S'en souvenir dans visiteur_session['auth']
Parameters
- $login : string
- $password : string
- $serveur : string = ''
- $phpauth : bool = false
auth_url_retour_login()
Fournir une url de retour apres login par un SSO pour finir l'authentification
auth_url_retour_login(string $auth_methode, string $login[, string $redirect = '' ][, string $serveur = '' ]) : string
Parameters
- $auth_methode : string
- $login : string
- $redirect : string = ''
- $serveur : string = ''
Return values
stringauth_terminer_identifier_login()
Terminer l'action d'authentification d'un auteur
auth_terminer_identifier_login(string $auth_methode, string $login[, string $serveur = '' ]) : mixed
Parameters
- $auth_methode : string
- $login : string
- $serveur : string = ''
Tags
auth_loger()
Loger un auteur suite a son identification
auth_loger(array<string|int, mixed> $auteur) : bool
Parameters
- $auteur : array<string|int, mixed>
Return values
boolauth_deloger()
Déconnexion de l'auteur
auth_deloger() : mixed
Tags
auth_autoriser_modifier_login()
Tester la possibilité de modifier le login d'authentification pour la méthode donnée
auth_autoriser_modifier_login(string $auth_methode[, string $serveur = '' ]) : bool
Parameters
- $auth_methode : string
- $serveur : string = ''
Tags
Return values
boolauth_verifier_login()
Verifier la validite d'un nouveau login pour modification pour la methode donnee
auth_verifier_login(string $auth_methode, string $new_login[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
- $auth_methode : string
- $new_login : string
- $id_auteur : int = 0
- $serveur : string = ''
Return values
string —message d'erreur ou chaine vide si pas d'erreur
auth_modifier_login()
Modifier le login d'un auteur pour la methode donnee
auth_modifier_login(string $auth_methode, string $new_login, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
- $auth_methode : string
- $new_login : string
- $id_auteur : int
- $serveur : string = ''
Return values
boolauth_autoriser_modifier_pass()
Tester la possibilité de modifier le pass pour la méthode donnée
auth_autoriser_modifier_pass(string $auth_methode[, string $serveur = '' ]) : bool
Parameters
- $auth_methode : string
- $serveur : string = ''
Tags
Return values
bool —succès ou échec
auth_verifier_pass()
Verifier la validite d'un pass propose pour modification pour la methode donnee
auth_verifier_pass(string $auth_methode, string $login, string $new_pass[, int $id_auteur = 0 ][, string $serveur = '' ]) : string
Parameters
- $auth_methode : string
- $login : string
- $new_pass : string
- $id_auteur : int = 0
- $serveur : string = ''
Return values
string —message d'erreur ou chaine vide si pas d'erreur
auth_modifier_pass()
Modifier le mot de passe d'un auteur pour la methode donnee
auth_modifier_pass(string $auth_methode, string $login, string $new_pass, int $id_auteur[, string $serveur = '' ]) : bool
Parameters
- $auth_methode : string
- $login : string
- $new_pass : string
- $id_auteur : int
- $serveur : string = ''
Return values
bool —succes ou echec
auth_synchroniser_distant()
Synchroniser un compte sur une base distante pour la methode donnée lorsque des modifications sont faites dans la base auteur
auth_synchroniser_distant([string|bool $auth_methode = true ][, int $id_auteur = 0 ][, array<string|int, mixed> $champs = [] ][, array<string|int, mixed> $options = [] ][, string $serveur = '' ]) : void
Parameters
- $auth_methode : string|bool = true
-
ici true permet de forcer la synchronisation de tous les acces pour toutes les methodes
- $id_auteur : int = 0
- $champs : array<string|int, mixed> = []
- $options : array<string|int, mixed> = []
- $serveur : string = ''
Tags
lire_php_auth()
Vérifier si l'auteur est bien authentifié
lire_php_auth(string $login, string $pw[, string $serveur = '' ]) : array<string|int, mixed>|bool
Parameters
- $login : string
- $pw : string
- $serveur : string = ''
Return values
array<string|int, mixed>|boolask_php_auth()
entête php_auth (est-encore utilisé ?)
ask_php_auth(string $pb, string $raison[, string $retour = '' ][, string $url = '' ][, string $re = '' ][, string $lien = '' ]) : mixed
Parameters
- $pb : string
- $raison : string
- $retour : string = ''
- $url : string = ''
- $re : string = ''
- $lien : string = ''