Meteor-계정
이 패키지는 완전한 사용자 인증 기능을 허용합니다. 명령 프롬프트 창에서 다음 코드를 실행하여 추가 할 수 있습니다.
C:\Users\username\Desktop\meteorApp>meteor add accounts-password
인증 예
이 예는 기본 인증을 보여줍니다. 우리는 만들 것입니다register, login, 및 home템플릿. 있는 경우currentUser (사용자가 성공적으로 등록 또는 로그인 된 경우) home템플릿이 표시됩니다. 없는 경우currentUser, register 과 login 템플릿이 표시됩니다.
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>
먼저, 우리는 register행사. 이 함수는 레지스터 입력을 읽고, 새로운 사용자를 생성하고, 데이터베이스에 저장합니다.
두 번째 이벤트는 login. 이번에는 함수가login 템플릿에서 이메일과 비밀번호가 유효하면 사용자로 로그인하고 유효하지 않으면 오류를 반환합니다.
그리고 마지막으로 logout 이벤트는 버튼을 클릭하면 사용자를 로그 아웃하는 데 사용됩니다.
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);
}
});
}
});
}
앱이 시작되면 다음 페이지가 표시됩니다.
에 이메일과 비밀번호를 입력하면 register새 사용자를 등록하고 로그인 할 수 있습니다. 콘솔이 사용자를 기록하는 것을 볼 수 있습니다.id 그리고 home 템플릿이 렌더링됩니다.
그만큼 login이벤트는 이메일과 비밀번호가 정확하면 데이터베이스를 확인하고 사용자를 로그인합니다. 그렇지 않은 경우 콘솔에서 오류를 기록합니다.
사용자가 LOGOUT 버튼을 누르면 앱이 사용자를 로그 아웃하고 register 과 login 템플릿.