🙋 Connexion
Authentication avec nom d'utilisateur et mot de passe.
Description
ENDPOINT | DESCRIPTION | METHOD | EXEMPLE |
---|---|---|---|
/_login/{strategy}?expiresIn={expiresIn} | Authentication with username and password | POST | https://api.comexposium-sso.com/_login/local?expiresIn=12h |
Strategy: La stratégie de connexion utilisée pour tous les appels est "local"
ExpiresIn: Pour le paramètre "expiresIn", il faut définir la durée d'expiration. Si un nombre est fourni, le délai d'expiration est converti en millisecondes. Si cette valeur est une chaîne, son contenu est analysé par la bibliothèque ms
Body
{
"username": "[email protected]",
"password": "myPassword"
}
Exemple d'appel
curl -X POST "https://api.comexposium-sso.com/_login/local?expiresIn=12h" -H "accept: application/json" -H "content-type: application/json" -d "{ \"username\": \"[email protected]\", \"password\": \"myPassword\"}"
Détails
Réponses
Vous pouvez obtenir un code de statut 200 ou 401 en utilisant ce endpoint, vous trouverez l'information dans l'attribut statusCode.
Succès
_id: internal user ID, jwt: JWT Token of the user
Exemple:
{
"requestId": "dcd5e356-042f-40ce-96f2-bda2580e9b72",
"status": 200,
"error": null,
"controller": "auth",
"action": "login",
"collection": null,
"index": null,
"volatile": null,
"result": {
"_id": "57f1d1ae-fbea-4a7c-aeac-3a1abac76a03",
"jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1N2YxZDFhZS1mYmVhLTRhN2MtYWVhYy0zYTFhYmFjNzZhMDMiLCJpYXQiOjE1NzQzNTA2NDcsImV4cCI6MTU3NDM5Mzg0N30.cga2mJm2NdwGnZ27wifnBAb3tgHxO--M4zD7S3rQXpY",
"expiresAt": 1574393847798,
"ttl": 43200000
}
}
Erreurs
Login failed
Exemple:
{
"requestId": "ea426e47-fd23-4f95-8ccb-cf0a196af542",
"status": 401,
"error": {
"message": "wrong username or password",
"status": 401,
"stack": "UnauthorizedError: wrong username or password\n at UnauthorizedError (/opt/kuzzle/node_modules/kuzzle-common-objects/lib/errors/unauthorizedError.js:5:5)\n at authCB (/opt/kuzzle/lib/api/core/auth/passportWrapper.js:71:25)\n at allFailed (/opt/kuzzle/node_modules/passport/lib/middleware/authenticate.js:107:18)\n at attempt (/opt/kuzzle/node_modules/passport/lib/middleware/authenticate.js:180:28)\n at Strategy.strategy.fail (/opt/kuzzle/node_modules/passport/lib/middleware/authenticate.js:297:9)\n at verified (/opt/kuzzle/plugins/available/kuzzle-plugin-auth-passport-local/node_modules/passport-local/lib/strategy.js:82:30)\n at ret.then.then.result (/opt/kuzzle/lib/api/core/plugins/pluginsManager.js:514:13)\n at tryCatcher (/opt/kuzzle/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/opt/kuzzle/node_modules/bluebird/js/release/promise.js:512:31)\n at Promise._settlePromise (/opt/kuzzle/node_modules/bluebird/js/release/promise.js:569:18)\n at Promise._settlePromise0 (/opt/kuzzle/node_modules/bluebird/js/release/promise.js:614:10)\n at Promise._settlePromises (/opt/kuzzle/node_modules/bluebird/js/release/promise.js:693:18)\n at Async._drainQueue (/opt/kuzzle/node_modules/bluebird/js/release/async.js:133:16)\n at Async._drainQueues (/opt/kuzzle/node_modules/bluebird/js/release/async.js:143:10)\n at Immediate.Async.drainQueues (/opt/kuzzle/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:637:20)\n at tryOnImmediate (timers.js:610:5)\n at processImmediate [as _immediateCallback] (timers.js:582:5)"
},
"controller": "auth",
"action": "login",
"collection": null,
"index": null,
"volatile": null,
"result": null
}