add gen token
This commit is contained in:
parent
945c7793fc
commit
d8974aef8b
39
scripts/generate_token.js
Normal file
39
scripts/generate_token.js
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
const jwt = require("jsonwebtoken");
|
||||||
|
const config = require("../src/config/haraka");
|
||||||
|
const User = require("../src/db/models/User");
|
||||||
|
const { Model } = require("objection");
|
||||||
|
const Knex = require("knex");
|
||||||
|
const knexConfig = require("../src/config/database");
|
||||||
|
const knex = Knex(knexConfig.development);
|
||||||
|
Model.knex(knex);
|
||||||
|
|
||||||
|
const email = process.argv[2];
|
||||||
|
const expire = process.argv[3];
|
||||||
|
|
||||||
|
if (!email || !expire) {
|
||||||
|
console.error("Usage: node generate_token.js <email> [expire]h,d,m,y");
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const user = await User.query().where("email", email).first();
|
||||||
|
if (!user) {
|
||||||
|
console.error("User not found");
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
const generateToken = () => {
|
||||||
|
return jwt.sign(
|
||||||
|
{ id: user.id, email: user.email, is_admin: user.is_admin },
|
||||||
|
config.auth.jwtSecret,
|
||||||
|
{ expiresIn: expire }
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
token = generateToken();
|
||||||
|
await User.query().where("id", user.id).update({ api_key: token });
|
||||||
|
console.log("Token generated and updated for user", user.email);
|
||||||
|
console.log("Token:", token);
|
||||||
|
process.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
||||||
Loading…
x
Reference in New Issue
Block a user