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