Я использую пакеты «accounts-base» и «accounts-password» и метод Accounts.createUser для создания пользователей из формы входа (т. е. я не использую пакет account-ui).
документация поясняет, что созданный таким образом пользователь включает объект "услуги"
«содержащий данные, используемые определенными службами входа в систему. Например, его поле сброса содержит токены, используемые ссылками для забытого пароля, а его поле возобновления содержит токены, используемые для того, чтобы вы оставались в системе между сеансами».
Это правда, и все учетные записи, созданные с использованием моей формы входа, имеют loginToken. Однако, когда я обновляю браузер, эти токены удаляются, и пользователь выходит из системы.
В документации предполагается, что токены возобновления автоматически обрабатываются пакетами account-base/accounts-password. Что я пропустил?
Accounts.createUser({
username: username,
email: username,
password: password
}, function (err) {
if (err) {
alert(err)
} else {
Router.go('/member/' + Meteor.userId() +'/edit')
}
});
создает:
"resume" :
{ "loginTokens" :
[
{
"when" : ISODate("2014-04-17T22:13:50.832Z"),
"hashedToken" : "KstqsW9aHqlw6pjfyQcO6jbGCiCiW3LGAXJaVS9fQ+o="
}
]
}
... но при обновлении:
"resume" : { "loginTokens" : [ ] } },
Accounts.createUser
— это серверная функция. Как вы получаете доступ к клиентской функцииRouter.go
в обратном вызове? Помните, где вы размещаете свой код... - person Andrew Mao   schedule 18.04.2014