Meteor - Hesaplar
Bu paket, eksiksiz bir kullanıcı kimlik doğrulama işlevi sağlar. Komut istemi penceresinde aşağıdaki kodu çalıştırarak ekleyebilirsiniz.
C:\Users\username\Desktop\meteorApp>meteor add accounts-password
Kimlik Doğrulama Örneği
Bu örnek, temel kimlik doğrulamasını gösterecektir. Biz yaratacağızregister, login, ve homeşablonlar. Eğer varsacurrentUser (kullanıcı başarıyla kaydolduysa veya oturum açtıysa), homeşablon gösterilecektir. Eğer yoksacurrentUser, register ve login şablonlar görünür olacak.
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>
İlk önce, bir registerEtkinlik. Bu fonksiyon kayıt girişlerini okuyacak, yeni bir kullanıcı oluşturacak ve bunu veri tabanına kaydedecektir.
İkinci olay login. Bu kez işlev, girişleri okuyacaktır.login şablon, e-posta ve şifre geçerliyse kullanıcı oturum açın veya değilse bir hata döndürür.
Ve nihayet logout olay, düğme tıklandığında kullanıcının oturumunu kapatmak için kullanılacaktır.
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);
}
});
}
});
}
Uygulama başladığında, aşağıdaki sayfayı alacağız.
E-posta ve şifreyi girildiğinde registerform, yeni kullanıcıyı kayıt edebilir ve giriş yapabiliriz. Konsolun kullanıcıları günlüğe kaydettiğini göreceğizid ve home şablon oluşturuldu.
loginE-posta ve şifre doğruysa olay veritabanını kontrol edecek ve kullanıcı oturum açacaktır. Değilse, konsol bir hata kaydedecektir.
Kullanıcı tıklarsa LOGOUT düğmesi, uygulama kullanıcının oturumunu kapatır ve register ve login şablonlar.