流星帳戶包

在使用 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() 登出