流星帳戶包
在使用 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()
登出