Meteor - Conti
Questo pacchetto consente una funzionalità di autenticazione utente completa. Puoi aggiungerlo eseguendo il codice seguente nella finestra del prompt dei comandi.
C:\Users\username\Desktop\meteorApp>meteor add accounts-password
Esempio di autenticazione
Questo esempio mostrerà l'autenticazione di base. Creeremoregister, login, e homemodelli. Se c'è uncurrentUser (se l'utente si è registrato o ha effettuato l'accesso con successo), il file homeverrà mostrato il modello. Se non c'ècurrentUser, il register e login i modelli saranno visibili.
meteorApp.html
<head>
<title>meteorApp</title>
</head>
<body>
{{#if currentUser}}
{{> home}}
{{else}}
{{> register}}
{{> login}}
{{/if}}
</body>
<template name = "register">
<h2>REGISTER:</h2>
<form>
<input type = "email" name = "registerEmail"><br>
<input type = "password" name = "registerPassword"><br>
<input type = "submit" value = "Register"><br>
</form>
</template>
<template name = "login">
<h2>LOGIN:</h2>
<form>
<input type = "email" name = "loginEmail"><br>
<input type = "password" name="loginPassword"><br>
<input type = "submit" value = "Login"><br>
</form>
</template>
<template name = "home">
<p>You're logged in.</p>
<button class = "logout">Logout</button>
</template>
Innanzitutto, dobbiamo creare un file registerevento. Questa funzione leggerà gli input del registro, creerà un nuovo utente e lo memorizzerà nel database.
Il secondo evento è login. Questa volta la funzione leggerà gli input dal filelogin modello, accedi all'utente se l'email e la password sono valide o restituisce un errore se non lo sono.
E infine il logout l'evento verrà utilizzato per disconnettere l'utente, una volta cliccato il pulsante.
meteorApp.js
if (Meteor.isClient) {
Template.register.events({
'submit form': function(event) {
event.preventDefault();
var registerData = {
email: event.target.registerEmail.value,
password: event.target.registerPassword.value
}
Accounts.createUser(registerData, function(error) {
if (Meteor.user()) {
console.log(Meteor.userId());
} else {
console.log("ERROR: " + error.reason);
}
});
}
});
Template.login.events({
'submit form': function(event) {
event.preventDefault();
var myEmail = event.target.loginEmail.value;
var myPassword = event.target.loginPassword.value;
Meteor.loginWithPassword(myEmail, myPassword, function(error) {
if (Meteor.user()) {
console.log(Meteor.userId());
} else {
console.log("ERROR: " + error.reason);
}
});
}
});
Template.home.events({
'click .logout': function(event) {
event.preventDefault();
Meteor.logout(function(error) {
if(error) {
console.log("ERROR: " + error.reason);
}
});
}
});
}
Una volta avviata l'app, verrà visualizzata la pagina seguente.
Inserendo l'email e la password nel file registerform, possiamo registrarci e accedere al nuovo utente. Vedremo che la console registra gli utentiid e il home viene eseguito il rendering del modello.
Il loginEvent controllerà il database e accederà all'utente, se l'email e la password sono corrette. In caso contrario, la console registrerà un errore.
Se l'utente fa clic sul file LOGOUT , l'app disconnetterà l'utente e mostrerà il file register e login modelli.