2013-03-28 7 views
13

MeteorにはloginWithTokenメソッドがあり、ユーザーオブジェクトにはresumeのトークンがあります。したがって、loginWithTokenとこれらのトークンの1つを使用してログインできます。それは動作します。クイックログインリンクを作成するために新しいMeteorログイントークン(サーバー側)を生成する方法

新しいログイントークンを生成する方法はありますか?または、再開トークンを使用して簡単なログインリンクを作成するだけですか?

答えて

15

、あなたは特別なものは何も実際に、ちょうど次の関数ではありません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); 
+0

は、トークンを生成するために呼び出される内部メソッドを言及していただきありがとうございます! – arijeet

+0

簡単な質問.. 'Meteor.loginWithToken'は厳密にクライアント側ですか? – arijeet

+0

@ redskins80はい、それは正しいです、あなたは流星のメソッド呼び出しや何かを介してトークンを生成することができます、私のコメントはそうでないと言います、それを編集させてください。 –

3

それは2015年だ - これらのパッケージのいずれかを使用します。

を10
  • 詩的:アカウント・パスワードなし
  • acemtp:アカウント・パスワードなし

http://fastosphere.meteor.com/?q=passwordless

+0

poetic:accounts -passwordlessはかなり正当です –