49 lines
2.3 KiB
JavaScript
49 lines
2.3 KiB
JavaScript
import { BaseCommand } from '@adonisjs/core/ace';
|
|
export default class DebugHash extends BaseCommand {
|
|
static commandName = 'debug:hash';
|
|
static description = 'Debug hashing and DB storage';
|
|
static options = {
|
|
startApp: true,
|
|
};
|
|
async run() {
|
|
const { default: hash } = await import('@adonisjs/core/services/hash');
|
|
const { default: User } = await import('#models/user');
|
|
const { default: db } = await import('@adonisjs/lucid/services/db');
|
|
console.log('--- Starting Hash Debug ---');
|
|
const password = 'admin123';
|
|
const hashed = await hash.make(password);
|
|
console.log(`Original Password: ${password}`);
|
|
console.log(`Generated Hash (len=${hashed.length}): ${hashed}`);
|
|
const verifyImmediate = await hash.verify(hashed, password);
|
|
console.log(`Immediate Verify: ${verifyImmediate}`);
|
|
const email = 'admin@portfolio.local';
|
|
const user = await User.findBy('email', email);
|
|
if (user) {
|
|
console.log(`\nUpdating user ${user.id} with new hash via RAW DB...`);
|
|
await db.from('users').where('id', user.id).update({ password: hashed });
|
|
const userReloaded = await User.find(user.id);
|
|
if (!userReloaded)
|
|
return;
|
|
console.log(`Reloaded Model Hash (len=${userReloaded.password.length}): ${userReloaded.password}`);
|
|
if (userReloaded.password !== hashed) {
|
|
console.error('MISMATCH! storage altered the hash.');
|
|
console.error(`Expected: ${hashed}`);
|
|
console.error(`Actual: ${userReloaded.password}`);
|
|
}
|
|
else {
|
|
console.log('MATCH! Storage preserved the hash.');
|
|
}
|
|
const verifyModel = await hash.verify(userReloaded.password, password);
|
|
console.log(`Model Verify: ${verifyModel}`);
|
|
const rawUser = await db.from('users').where('id', user.id).first();
|
|
console.log(`Raw DB Hash (len=${rawUser.password.length}): ${rawUser.password}`);
|
|
if (rawUser.password !== hashed) {
|
|
console.error('MISMATCH in Raw DB!');
|
|
}
|
|
}
|
|
else {
|
|
console.error('User not found!');
|
|
}
|
|
}
|
|
}
|
|
//# sourceMappingURL=debug_hash.js.map
|