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/"]
}