The password feature can be utilized to hash a user's password when editing it's record.


$ yarn add @adminjs/passwords

Next step is to add feature option to user resource

import argon2 from 'argon2';
import passwordsFeature from '@adminjs/passwords';

import User from './models/user.js';
import componentLoader from './component-loader.js';

const adminJsOptions = {
  resources: [
      resource: User,
      options: {
        //...your regular options go here'
        properties: { password: { isVisible: false } },
      features: [
          properties: {
            encryptedPassword: 'password',
            password: 'newPassword'
          hash: argon2.hash,

In the example above password is User property which holds encrypted password (we have to make it invisible to keep secure. newPassword in passwordsFeature -> options properties is a virtual field which keeps entered password and will be hashed before saving.

Last updated