Documentation en ligne

Autres fonctions

Vérifier un couple identifiant-mot de passe

La vérification d'un couple identifiant-mot de passe se fait avec le WebService accessible à l'adresse /api/check-password/ via la méthode HTTP POST en soumettant un document JSON décrivant l'identifiant et le mot de passe de l'utilisateur que l'on souhaite vérifier.

L'utilisateur employé pour faire l'appel doit avoir le rôle Administrateur des utilisateurs.

Cette fonction n'ouvre pas de session pour l'utilisateur dont on vérifie l'identifiant et le mot de passe.

Paramètres

Propriété

Description

Valeur requise

Valeur permise

username identifiant oui chaîne quelconque
password mot de passe oui chaîne quelconque

Les valeurs null ne sont pas autorisées.

Exemple

$ curl --header "Content-Type: application/json" --data '{"username": "john.doe", "password": "secret"}' https://admin:admin-password@host_authentic2/api/check-password/

 

POST /api/check-password/ HTTP/1.1 
Content-Type: application/json
Authorization: Basic xxxx
Content-Length: xxx

{
    "username": "john.doe",
    "password": "secret",
}

Retour Passant

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: xxx

{
        "result": "1",
}

Cas non-passant

Code

Signification

Contenu

403 Permission non accordée d'effectuer l'action {"errors":"You do not have permission to perform this action.","result":0}
200 Le couple identifiant-mot de passe n'est pas valide {"errors":["Invalid username/password."],"result":0}

Par exemple :

HTTP/1.1 403 FORBIDDEN
Server: nginx
Date: Tue, 15 Jan 2019 14:28:12 GMT
Content-Type: application/json
Content-Length: 50
Connection: keep-alive
Content-Language: fr
Vary: Accept-Language, Cookie
Allow: POST, OPTIONS

{"errors":"You do not have permission to perform this action.","result":0}

 

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 15 Jan 2019 14:26:12 GMT
Content-Type: application/json
Content-Length: 52
Connection: keep-alive
Content-Language: fr
Vary: Accept-Language, Cookie
Allow: POST, OPTIONS
Strict-Transport-Security: max-age=31536000;

{"errors":["Invalid username/password."],"result":0}

Tests d'existence des comptes en masse

Le test d'existence des comptes en masse se fait avec le WebService accessible à l'adresse /api/users/synchronization/ via la méthode HTTP POST en soumettant un document JSON décrivant la liste des identifiants des utilisateurs à tester.

Paramètres

Propriété

Description

Valeur requise

Valeur permise

known_uuids liste des identifiants oui  

Exemple

POST /api/users/synchronization/ HTTP/1.1
Authorization: Basic xxx
Content-Type: application/json
Content-Length: xxxx

{
    "known_uuids":["e46d46ebcb1d4d6bac4571159b542389", "1234567890"],
}

Retour Passant

200 Ok
Content-Type: application/json
Content-Length: xxxx

{
    "unknown_uuids":["1234567890"],
    "result":1
}

Cas non-passant

Code

Signification

Contenu

400 Le format de la requête est invalide (JSON mal formaté, attribut manquant, etc..) Un document JSON décrivant les erreurs rencontrées
401 L'authentification a échouée  
403 Permission non accordée d'effectuer l'action {"errors":"You do not have permission to perform this action.","result":0}

Par exemple :

400 BadRequest
Content-Type: application/json
Content-Length: xxxx

{    
    "detail":"JSON parse error - Expecting ',' delimiter: line 1 column 53 (char 52)" 
}

Provisionner des objets dans les autres applications

Permet d'assurer qu'au utilisateur ou un rôle crée dans authentic sera disponbile dans les autres birques de Publik. Se fait avec le WebService accessible à l'adresse /api/provision/ via la méthode HTTP POST en soumettant un document JSON contenant l'identifiants de l'objet à provisionner.

Paramètres

Propriété

Description

Valeur requise

Valeur permise

user_uuid identifiant d'un utilisateur non  
role_uuid identifiant d'un rôle non  

Exemple

POST /api/provision/ HTTP/1.1
Authorization: Basic xxx
Content-Type: application/json
Content-Length: xxxx

{
    "user_uuid": "e46d46ebcb1d4d6bac4571159b542389"
}

Retour passant

200 Ok
Content-Type: application/json
Content-Length: xxxx

{
    "err": 0,
    "leftover_audience": [],
    "reached_audience": ["https://hobo-foo.test.entrouvert.org/accounts/mellon/metadata/", "https://demarches-foo.test.entrouvert.org/saml/metadata", "https://passerelle-foo.test.entrouvert.org/accounts/mellon/metadata/", "https://foo.test.entrouvert.org/accounts/mellon/metadata/", "https://agents-foo.test.entrouvert.org/accounts/mellon/metadata/", "https://agendas-foo.test.entrouvert.org/accounts/mellon/metadata/", "https://statistiques-foo.test.entrouvert.org/accounts/mellon/metadata/"] 
}

Dernière mise à jour le 01/01/2024 18:55 — Éditer