流星帐户包
在使用 Meteor 登录时,你有几个选择。最常见的方法是使用 accounts
作为 Meteor。
账户密码
如果你希望用户能够在你的网站上创建和注册,你可以使用 accounts-password
。
使用 meteor add accounts-password
安装软件包。
要创建用户,你需要使用 Accounts.createUser(options, [callback])
options
必须是具有以下属性的对象:
username
:用户的用户名为字符串..email
:用户的电子邮件为字符串。password
:用户(未加密)密码为字符串。profile
:用户可选的额外数据作为对象。这可以是例如用户的名字和姓氏。然而,profile
是可选的。
如果存在错误,则回调返回 1 变量,这是一个 Meteor.Error 对象。
你只需要使用 username
或 email
,因此你可以创建一个用户名但没有电子邮件的用户,反之亦然。你也可以使用它们。
如果一切正常,它将返回新创建的用户 ID。
所以,你可以使用这个:
// server side
var id = Accounts.createUser({
username: "JohnDoe",
email: "JohnDoe@gmail.com",
password: "TheRealJohn123",
profile: {
firstName: "John",
lastName: "Doe"
}
}, function(err) {
console.log(err.reason);
});
如果用户成功创建,它也会自动登录。
这是创造的一部分。要登录,你需要在客户端使用 Meteor.loginWithPassword(identifier, password, [callback])
。
identifier
是 username
,email
或 userId
作为你用户的字符串。password
是用户的(未加密)password
。
如果存在错误,则回调将返回一个变量,即 Meteor.Error 对象。
例:
// client side
Meteor.loginWithPassword("JohnDoe", "TheRealJohn123", function(err) {
console.log(err.reason);
});
这就是基本创建帐户和登录的目的。
访问用户数据
你可以在客户端检查用户是否通过调用 Meteor.userId()
登录,如果他们已登录将返回他们的 userId
,如果他们没有登录则返回 undefined
。
你可以从 Meteor.user()
获得一些信息。如果用户未登录,它将返回 undefined,如果是,则返回一些用户数据。默认情况下它不会为你提供任何密码,默认情况下它会显示用户的 userId,用户名和配置文件对象。
如果要检查用户是否已登录页面,还可以使用 currentUser
帮助程序。它将返回 Meteor.user()
的内容。例:
{{#if currentUser}}
<h1>Hello there, {{currentUser.username}}!</h1>
{{else}}
<h1>Please log in.</h1>
{{/if}}
其他帐户功能
还有一些其他功能适用于每个帐户包。
你可以使用 Meteor.logout()
注销