Firebase L'accesso semplice fornisce un'opzione email/password, come si usa? A partire dalla creazione di un utente, la memorizzazione dei dati per quell'utente, l'accesso e la disconnessione.Come utilizzare Firebase Accesso semplice con e-mail e password
risposta
Ci sono tre fasi distinte da eseguire (supponiamo di avere jQuery):
1. Configurare il callback
var ref = new Firebase("https://demo.firebaseio-demo.com");
var authClient = new FirebaseAuthClient(ref, function(error, user) {
if (error) {
alert(error);
return;
}
if (user) {
// User is already logged in.
doLogin(user);
} else {
// User is logged out.
showLoginBox();
}
});
2. Registrazione Utente
function showLoginBox() {
...
// Do whatever DOM operations you need to show the login/registration box.
$("#registerButton").on("click", function() {
var email = $("#email").val();
var password = $("#password").val();
authClient.createUser(email, password, function(error, user) {
if (!error) {
doLogin(user);
} else {
alert(error);
}
});
});
}
3. Accesso utente
function showLoginBox() {
...
// Do whatever DOM operations you need to show the login/registration box.
$("#loginButton").on("click", function() {
authClient.login("password", {
email: $("#email").val(),
password: $("#password").val(),
rememberMe: $("#rememberCheckbox").val()
});
});
}
Quando il login completata correttamente, la chiamata si è registrato nella fase 1 sarà chiamato con l'oggetto utente corretto, al punto che noi chiamiamo doLogin(user)
che è un metodo che si dovrà attuare .
La struttura dei dati utente è molto semplice. Si tratta di un oggetto contenente le seguenti proprietà:
email
: Indirizzo e-mail dell'utente id
: numerica (incremento automatico) ID univoco per l'utente
FirebaseAuthClient autenticherà automaticamente il firebsae per voi, non ulteriori azioni è obbligatorio. È ora possibile utilizzare qualcosa come il seguente nelle regole di sicurezza:
{
"rules": {
"users": {
"$userid": {
".read": "auth.uid == $userid",
".write": "auth.uid == $userid"
}
}
}
}
Ciò significa, se il mio ID utente è di 42, solo io posso scrivere o leggere a example.firebaseio-demo.com/users/42
- quando sono entrato - e nessun altro .
Si noti che Login semplice non memorizza alcuna informazione aggiuntiva sull'utente oltre al proprio ID ed e-mail. Se si desidera memorizzare dati aggiuntivi sull'utente, è necessario farlo personalmente (probabilmente nella callback di successo per createUser
). È possibile memorizzare questi dati come normalmente si memorizzerebbero i dati in Firebase - basta fare attenzione a chi può leggere o scrivere su questi dati!
ho creato un jsFiddle sulla base di questo qui: http: // jsfiddle.net/dirkk0/LAJKX/ – dirkk0
Esiste comunque la possibilità di effettuare una verifica tramite e-mail per evitare che l'e-mail falsa venga utilizzata dagli utenti? – vzhen
La verifica dell'email è in arrivo, guarda la mailing list di Firebase per un annuncio! – Anant
Solo in caso qualcuno venga raggiunto a questo thread e cerchi qualche applicazione di esempio utilizzando l'autenticazione firebase. Ecco due esempi
var rootRef = new Firebase('https://docs-sandbox.firebaseio.com/web/uauth');
......
.....
....
http://jsfiddle.net/firebase/a221m6pb/embedded/result,js/
http://www.42id.com/articles/firebase-authentication-and-angular-js/
http://engineering.letsnurture.com/firebase-basic-authentication/ –