tom-framework
Version:
tom-framework for Node.js
71 lines (59 loc) • 4.54 kB
JavaScript
const path = require('path');
const app_dir = require('tomjs/handlers/dir')();
const { toBool } = require('tomjs/handlers/tools');
const system_cfg = require('./system');
// 用户认证配置
module.exports = {
log4js_category: process.env.AUTH_LOG_CATEGORY || "user",
jwt_work_path: '/api',
jwt_auth_all_path: toBool(process.env.JWT_AUTH_ALL_PATH || false),//所有jwt_work_path路径下是否都要预先经过JWT验证
jwt_secret: process.env.JWT_SECRET || path.join(app_dir, '../keys/publicKey.pub'), // jwt需要的Key文件名
jwt_expiresin: process.env.JWT_EXPIRESIN || '2h', // jwt有效时间
jwt_expiresin_long: process.env.JWT_EXPIRESIN_LONG || '3d',
jwt_notBefore: process.env.JWT_NOTBEFORE,
jwt_audience: process.env.JWT_AUDIENCE,
jwt_issuer: process.env.JWT_ISSUER || (system_cfg.api_server_type + system_cfg.api_server_host),
jwt_key: 'user',
jwt_key_id: 'id',
jwt_key_token_version: 'token_version',
jwt_key_check_token_version: true,
jwt_key_exp_is_long: 'exp_is_long',
jwt_tokenkey: 'tokenkey',
jwt_cookie:process.env.JWT_COOKIE || '__tomjs_tokenkey__',
jwt_rewirte_cookie : toBool(process.env.JWT_REWIRTE_COOKIE || false),
jwt_rewirte_cookie_remaining : process.env.JWT_REWIRTE_COOKIE_REMAINING || '30m',// 表示当过期时间还剩时间此时间,那么将重新产生新的token并写入cookie
jwt_rewirte_cookie_remaining_long : process.env.JWT_REWIRTE_COOKIE_REMAINING_LONG || '1d',// 表示当过期时间还剩时间此时间,那么将重新产生新的token并写入cookie
password_tpye: 'pbkdf2',// 可以是 pbkdf2 或 bcrypt,需要npm 安装 bcrypt ,切换密码加密方式不会影响解密,密码解密会自动判断解密方式
password_salt_length: 8,
password_digest: 'sha512',
auth_model: path.join(app_dir, './models/user'),
expiresin_long: 'expiresin_long', //如果登陆和注册时有此字段并且这个字段值为1 系统就会返回 jwt_expiresin_long 的 jwt,以便模拟“记住我”效果
email_field: 'email', //email字段名
mobile_field: 'mobile', //手机字段名
captcha_key_field: 'captcha_key', //图像验证码对应Cache Key的字段
mobile_need_captcha: toBool(process.env.CAPTCHA_MOBILE_NEED_CAPTCHA || true),//发送短信是否需要的图像验证码
mobile_captcha_field: 'mobile_captcha', //发送短信需要的验证码字段
login_username_fields: process.env.LOGIN_USERNAME_FIELDS || 'name',
unique_user_name: toBool(process.env.UNIQUE_USER_NAME || true),
not_exists_field_head: 'register_',//以此开头的验证变量名,就表示必须在数据库内不能重复 主要用于注册
register_captcha: toBool(process.env.REGISTER_CAPTCHA || false),
register_captcha_field: 'register_captcha', //存放注册图像验证码内容的字段名
register_email: toBool(process.env.REGISTER_CAPTCHA_EMAIL || true),
register_email_field: 'register_email_captcha', //存放注册EMail验证码内容的字段名
register_mobile: toBool(process.env.REGISTER_CAPTCHA_MOBILE || true),
register_mobile_field: 'register_mobile_captcha', //存放注册手机验证码内容的字段名
login_captcha: toBool(process.env.LOGIN_CAPTCHA || true),
login_captcha_field: 'login_captcha', //存放登录图像验证码内容的字段名
resetpassword_captcha: toBool(process.env.RESETPASSWORD_CAPTCHA || true),
resetpassword_captcha_field: 'resetpassword_captcha', //存放注册图像验证码内容的字段名
resetpassword_email: toBool(process.env.RESETPASSWORD_CAPTCHA_EMAIL || false),
resetpassword_email_field: 'resetpassword_email_captcha', //存放注册EMail验证码内容的字段名
resetpassword_mobile: toBool(process.env.RESETPASSWORD_CAPTCHA_MOBILE || false),
resetpassword_mobile_field: 'resetpassword_mobile_captcha', //存放注册手机验证码内容的字段名
forgotpassword_captcha: toBool(process.env.FORGOTPASSWORD_CAPTCHA || false),
forgotpassword_captcha_field: 'forgotpassword_captcha', //存放注册图像验证码内容的字段名
forgotpassword_email: toBool(process.env.FORGOTPASSWORD_CAPTCHA_EMAIL || false),
forgotpassword_email_field: 'forgotpassword_email_captcha', //存放注册EMail验证码内容的字段名
forgotpassword_mobile: toBool(process.env.FORGOTPASSWORD_CAPTCHA_MOBILE || false),
forgotpassword_mobile_field: 'forgotpassword_mobile_captcha', //存放注册手机验证码内容的字段名
};