Meteorito - Cuentas
Este paquete permite una funcionalidad completa de autenticación de usuarios. Puede agregarlo ejecutando el siguiente código en la ventana del símbolo del sistema.
C:\Users\username\Desktop\meteorApp>meteor add accounts-password
Ejemplo de autenticación
Este ejemplo mostrará la autenticación básica. Nosotros crearemosregister, loginy homeplantillas. Si hay uncurrentUser (si el usuario se registró o inició sesión correctamente), el homeSe mostrará la plantilla. Si no haycurrentUser, la register y login Las plantillas serán visibles.
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>
Primero, necesitamos crear un registerevento. Esta función leerá las entradas del registro, creará un nuevo usuario y lo almacenará en la base de datos.
El segundo evento es login. Esta vez, la función leerá las entradas dellogin plantilla, inicie sesión como usuario si el correo electrónico y la contraseña son válidos o devuelva un error si no lo son.
Y finalmente el logout El evento se utilizará para cerrar la sesión del usuario, una vez que se haga clic en el botón.
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 vez que se inicia la aplicación, obtendremos la siguiente página.
Al ingresar el correo electrónico y la contraseña en el registerformulario, podemos registrar e iniciar sesión como nuevo usuario. Veremos que la consola registra a los usuariosid y el home se renderiza la plantilla.
los loginevent comprobará la base de datos e iniciará la sesión del usuario, si el correo electrónico y la contraseña son correctos. De lo contrario, la consola registrará un error.
Si el usuario hace clic en el LOGOUT , la aplicación cerrará la sesión del usuario y mostrará el register y login plantillas.