2017-10-09 7 views
0

Je cherche simplement à me connecter à l'application que je suis en train de développer. Pour l'instant, il n'y a qu'un nom d'utilisateur dbreader, mais l'utilisateur devra entrer le mot de passe pour accéder à la base de données distante (couchdb) et la synchroniser. Quel serait le meilleur moyen de vérifier si le mot de passe qu'ils ont fourni est correct afin que je puisse retourner échoué à la connexion ou la connexion réussie. Envoyer une demande de synchronisation à une base de données vide en utilisant le mot de passe entré et voir si elle a échoué l'authentification?Vérifiez si les informations de connexion sont correctes pour la base de données distante

Répondre

3

Vous pouvez valider les informations d'identification en envoyant une demande au noeud final _session.

Fondamentalement, vous créez un cookie de session. En cas d'échec, vous recevrez un code d'état HTTP 401. Sinon, vous recevrez un code d'état HTTP 200 avec vos rôles, votre nom et votre cookie.

Plus d'informations peuvent être trouvées in the doc

$.ajax({ 
 
    url:"http://localhost:5984/_session", 
 
    method:"POST", 
 
    dataType:"json", 
 
    data: { 
 
    name:"test", 
 
    password:"test" 
 
    } 
 
}).done(function(res){ 
 
    console.log(JSON.stringify(res)); 
 
}).fail(function(err){ 
 
    console.log(JSON.stringify(err)); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Aucun moyen d'accéder au point final de la session avec pouchdb de ce que je peux voir – Shard

+0

Vous pouvez rechercher un plugin PouchDB qui le ferait, mais si vous ne pouvez pas en trouver un, vous pouvez simplement faire la demande manuellement en utilisant les requêtes Ajax. –

+0

Les plugins disponibles ne sont pas assez légers pour vérifier simplement si le mot de passe est correct ou non. Ils ont mis toutes sortes de fonctionnalités que je ne veux pas. J'ai essayé d'utiliser Ajax et j'ai toujours eu 500 erreurs de serveur interne, je ne sais pas pourquoi et pas très utile pour trouver le problème, j'ai joué avec lui pendant quelques heures. Tout conseil sur l'identification de la cause de ce serait génial. Actuellement, je suis revenu à la vérification de la réponse du serveur lorsque j'essaie de me connecter à une base de données avec un mot de passe entré – Shard