流星帐户包

在使用 Meteor 登录时,你有几个选择。最常见的方法是使用 accounts 作为 Meteor。

账户密码

如果你希望用户能够在你的网站上创建和注册,你可以使用 accounts-password

使用 meteor add accounts-password 安装软件包。

要创建用户,你需要使用 Accounts.createUser(options, [callback])

options 必须是具有以下属性的对象:

  • username:用户的用户名为字符串..
  • email:用户的电子邮件为字符串。
  • password:用户(未加密)密码为字符串。
  • profile:用户可选的额外数据作为对象。这可以是例如用户的名字和姓氏。然而,profile 是可选的。

如果存在错误,则回调返回 1 变量,这是一个 Meteor.Error 对象。

你只需要使用 usernameemail,因此你可以创建一个用户名但没有电子邮件的用户,反之亦然。你也可以使用它们。

如果一切正常,它将返回新创建的用户 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])

identifierusernameemailuserId 作为你用户的字符串。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() 注销