/ / phonegap autenticazione utente ajax con nodejs-expresss-mongo-passportjs - cordova, express, passport.js

phonegap ajax autenticazione utente con nodejs-expresss-mongo-passportjs - cordova, express, passport.js

Ho già creato un sistema di autenticazione utente basic.js di base basato su node.js, express.js, passport-local.

Conservo il mio nome utente e password in un database mysql e uso mongo per l'archiviazione persistente per le sessioni. Ora voglio spostare la registrazione dell'utente e accedere a PhoneGap.

Dalle esercitazioni che ho trovato online, l'unico modo che sembra funzionare è l'autenticazione dell'utente AJAX. Tuttavia ho due domande:

  1. Come faccio a riscrivere i percorsi espressi per rispondere a JSON poiché passport.js si basa sui reindirizzamenti?

    // elabora il modulo di registrazione app.post ("/ register", passport.authenticate ("local-signup", { successRedirect: "/ home", failureRedirect: "/ register", failureFlash: true // consente i messaggi flash }));

    // process the login form
    app.post("/login", passport.authenticate("local", {
    successRedirect : "/home",
    failureRedirect : "/login",
    failureFlash : true // allow flash messages
    }));
    

    e nelle mie strategie ho:
    passaporto.utilizzare ("local-signup", new LocalStrategy ({ usernameField: "email", passwordField: "password", passReqToCallback: true }, funzione (req, email, password, fatto) { ... resto del codice che interroga il db

    anche per il login
    // Configura la strategia locale del passaporto peraccesso passport.use (nuova LocalStrategy ( funzione (username, password, done) { var query = "seleziona * dagli utenti dove email =" + connection.escape (username); connection.query (query, function (err, user) { se (err) {ritorno fatto (err); ... resto del codice }</ Pre>

2.L'autenticazione AJAX in PhoneGap funziona inviando un post a "/ login" e quindi creando una nuova sessione attiva nel server express?

3. Come gestisco lo stato nel client. In una normale webapp si usano i reindirizzamenti per ie. tentativi di accesso falliti, logout, ecc. In un'autenticazione AJAX, come la gestisci? Ritorna un codice di stato, restituisci nuovo markup, aggiorna parte della vista?

risposte:

3 per risposta № 1

Chiuderò questa domanda come ho fatto qualche ricercae il mio problema originario derivava dalla mia mancanza di comprensione di come sono state progettate le app di PhoneGap. Non ero consapevole del fatto che avrei dovuto seguire l'architettura delle app a pagina singola rispetto al modello di pagina Web tradizionale.