diff --git a/adminforth/modules/restApi.ts b/adminforth/modules/restApi.ts index 499ee606..e9a73708 100644 --- a/adminforth/modules/restApi.ts +++ b/adminforth/modules/restApi.ts @@ -250,7 +250,6 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI { const usernameColumn = userResource.columns.find((col) => col.name === usernameField); const userPk = dbUser[userResource.columns.find((col) => col.primaryKey).name]; - const userData = { [this.adminforth.config.auth.usernameField]: username, [this.adminforth.config.auth.userFullNameField]: userFullName, @@ -291,7 +290,8 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI { } const announcementBadge: AnnouncementBadgeResponse = this.adminforth.config.customization.announcementBadge?.(adminUser); - + const adminforthUserCleanupWarning: AnnouncementBadgeResponse = this.adminforth.config.customization.adminforthUserCleanupWarning?.(adminUser); + const publicPart = { brandName: this.adminforth.config.customization.brandName, usernameFieldName: usernameColumn.label, @@ -314,6 +314,7 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI { title: this.adminforth.config.customization.title, emptyFieldPlaceholder: this.adminforth.config.customization.emptyFieldPlaceholder, announcementBadge, + adminforthUserCleanupWarning, globalInjections: this.adminforth.config.customization.globalInjections, userFullnameField: this.adminforth.config.auth.userFullNameField, } diff --git a/adminforth/spa/src/App.vue b/adminforth/spa/src/App.vue index 2a42eec6..c5fe4b8d 100644 --- a/adminforth/spa/src/App.vue +++ b/adminforth/spa/src/App.vue @@ -165,7 +165,21 @@
- +The default admin user adminforth is still active in production.
+For security reasons, it's strongly recommended to create your own account and delete this default user.
+This action is critical and cannot be undone.
+ `, + closable: false, + title: 'Critical Security Warning', + } + }, + // loginPageInjections: { // underInputs: '@@/login2.vue', // } @@ -506,8 +519,8 @@ admin.express.serve(app); admin.discoverDatabases().then(async () => { console.log('🅿️ Database discovered'); - if (!await admin.resource('users').get([Filters.EQ('email', 'adminforth')])) { - await admin.resource('users').create({ + if (await admin.resource('adminuser').count() === 0) { + await admin.resource('adminuser').create({ email: 'adminforth', password_hash: await AdminForth.Utils.generatePasswordHash('adminforth'), role: 'superadmin',