Est-il vrai que les appels au point de terminaison CouchDB _session
semblent toujours renvoyer un code d'état HTTP 200
, même si le cookie que je passe est absent ou erroné?Les appels à _session de CouchDB renvoient toujours 200
Le passage d'un mauvais biscuit ou aucun cookie dans mon semble toujours GET
têtes de requête retour:
{
"ok": true,
"userCtx": {
"name": null,
"roles": []
},
"info": {
"authentication_db": "_users",
"authentication_handlers": [
"cookie",
"default"
]
}
}
Lors du passage du cookie correct, je reçois une réponse légèrement différente:
{
"ok": true,
"userCtx": {
"name": "jack",
"roles": []
},
"info": {
"authentication_db": "_users",
"authentication_handlers": [
"cookie",
"default"
],
"authenticated": "cookie"
}
}
Est-ce comportement standard? Si c'est le cas, sur quelle clé devrais-je compter pour supposer une authentification réussie? Devrait-il être res.userCtx.name
ou res.info.authenticated
?
Avez-vous encore vérifié [la documentation] (http://docs.couchdb.org/fr/2.0.0/api/server/authn.html#get--_session)? –
@DominicBarnes Cheers. J'ai vu cette page mais pour une raison quelconque j'ai dû passer la partie 'GET/session'. – shennan
La documentation ne suggère pas qu'un 401 soit retourné pour un mauvais cookie ou pas de cookie du tout, mais cela ne suggère pas non plus qu'il renvoie toujours un 200 ou le raisonnement expliquant pourquoi. Je ne peux pas penser à une seule raison pour laquelle quelqu'un aurait besoin de ce point de terminaison pour toujours retourner un objet userCtx même lorsque la session est invalide. – Ravenstine