Webアプリケーション用のトークンベース認証システムを作成しましたが、トークンフィールドの有効期限が必要です。 token
を保持user
モデルは以下の通りです:特定のフィールドのMongoose add expires属性
module.exports = (function() {
var userSchema = new Schema({
phone: String,
token: {
value: { type: String, lowercase: true, trim: true }
},
verificationCode: Number,
createdAt: { type: Date, default: Date.now() }
});
var User = mongoose.model('User', userSchema);
return User;
})();
私は疑問に思ってtoken
フィールドの有効期限属性を持っているどのような方法があります。実は私は、トークンの有効期限が切れているかどうかを確認するために私のコードでは、以下のようなものを持ちたい:@dyoubergこれを持ち出すため
User.findOne({}, function(err, user) {
if (user.token.isExpired()) {
// do something!
}
});
トークン・モデルに有効期限(日付)isExpired(ブール)フィールドを入れて、n'mins/sec /時間ごとにトリガーする小さなジョブを実行して、現在の日時トークンに設定された有効期限を過ぎています。 –
また、トークンコレクションのTTLインデックスを使用して、一定の時間が経過した後でトークンを自動的に削除することもできます。 – dyouberg