Meteor 有一个loginWithToken
方法,用户对象中有resume
令牌。因此,可以使用这些令牌之一登录loginWithToken
。这样可行。
有没有办法生成新的登录令牌,或者我应该只使用简历令牌来创建快速登录链接?
Meteor 有一个loginWithToken
方法,用户对象中有resume
令牌。因此,可以使用这些令牌之一登录loginWithToken
。这样可行。
有没有办法生成新的登录令牌,或者我应该只使用简历令牌来创建快速登录链接?
正如约翰尼所说,你可以使用Accounts._generateStampedLoginToken()
函数,它实际上并没有什么特别的,只是下面的函数:
_generateStampedLoginToken = function () {
return {
token: Random.secret(),
when: new Date
};
}
无论如何,要使用它,这里有一个例子:
// Server //
// Creates a stamped login token
var stampedLoginToken = Accounts._generateStampedLoginToken();
/**
* Hashes the stamped login token and inserts the stamped login token
* to the user with the id specified, adds it to the field
* services.resume.loginTokens.$.hashedToken.
* (you can use Accounts._hashLoginToken(stampedLoginToken.token)
* to get the same token that gets inserted)
*/
Accounts._insertLoginToken(user._id, stampedLoginToken);
// Client //
// Login with the stamped loginToken's token
Meteor.loginWithToken(stampedLoginToken.token);
是的,您可以通过调用Accounts._generateStampedLoginToken()
. 您可以从登录处理程序中调用它。
https://github.com/meteor/meteor/blob/master/packages/accounts-base/accounts_server.js#L114
现在是 2015 年 - 使用以下软件包之一: