SPA (NodeJS バックエンド、Angular フロントエンド) でユーザーを認証するために JWT を使用しています。User モデルに、ユーザーがサインインしたときに JWT を生成する関数があります。
// ./models/user.js - with Waterline as ORM
var Waterline = require('Waterline');
var bcrypt = require('bcrypt');
var jwt = require('jsonwebtoken');
// [...]
generateJWT: function() {
// set expiration to 60 days
var today = new Date();
var exp = new Date(today);
exp.setDate(today.getDate() + 60);
return jwt.sign({
_id: this.id,
username: this.username,
exp: parseInt(exp.getTime() / 1000),
}, 'SECRET'); // TODO: Real secret
}
// [...]
この「SECRET」はハードコーディングしないでください。そして、それはコードベースや私のレポにあってはなりません。では、これを処理するための最良/最も安全な方法は何ですか? 展開時にシンボリックリンクされた共有フォルダー内の構成ファイル? データベース?