Add support for authentication_otp database object

This commit is contained in:
netkas 2025-01-08 15:02:44 -05:00
parent 7ac1bead49
commit 86acae60a2
3 changed files with 29 additions and 2 deletions

1
.idea/sqldialects.xml generated
View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/src/Socialbox/Classes/Resources/database/authentication_otp.sql" dialect="MariaDB" />
<file url="file://$PROJECT_DIR$/src/Socialbox/Classes/Resources/database/captcha_images.sql" dialect="MariaDB" />
<file url="file://$PROJECT_DIR$/src/Socialbox/Classes/Resources/database/external_sessions.sql" dialect="MariaDB" />
<file url="file://$PROJECT_DIR$/src/Socialbox/Classes/Resources/database/registered_peers.sql" dialect="MariaDB" />

View file

@ -0,0 +1,18 @@
create table authentication_otp
(
peer_uuid varchar(36) not null comment 'The Peer UUID associated with this record'
primary key comment 'The Peer UUID unique Index',
secret mediumtext not null comment 'The encrypted secret for the OTP',
updated timestamp default current_timestamp() not null comment 'The Timestamp for when the record was last updated',
constraint authentication_otp_peer_uuid_uindex
unique (peer_uuid) comment 'The Peer UUID unique Index',
constraint authentication_otp_registered_peers_uuid_fk
foreign key (peer_uuid) references registered_peers (uuid)
on update cascade on delete cascade
)
comment 'Table for housing encrypted OTP secrets for for verification';
create index authentication_otp_updated_index
on authentication_otp (updated)
comment 'The index for the updated column';

View file

@ -10,6 +10,7 @@
case REGISTERED_PEERS = 'registered_peers.sql';
case AUTHENTICATION_PASSWORDS = 'authentication_passwords.sql';
case AUTHENTICATION_OTP = 'authentication_otp.sql';
case CAPTCHA_IMAGES = 'captcha_images.sql';
case SESSIONS = 'sessions.sql';
case EXTERNAL_SESSIONS = 'external_sessions.sql';
@ -23,9 +24,16 @@
{
return match ($this)
{
self::VARIABLES, self::RESOLVED_DNS_RECORDS => 0,
self::VARIABLES,
self::RESOLVED_DNS_RECORDS => 0,
self::REGISTERED_PEERS => 1,
self::AUTHENTICATION_PASSWORDS, self::CAPTCHA_IMAGES, self::SESSIONS, self::EXTERNAL_SESSIONS => 2,
self::AUTHENTICATION_PASSWORDS,
self::AUTHENTICATION_OTP,
self::CAPTCHA_IMAGES,
self::SESSIONS,
self::EXTERNAL_SESSIONS => 2,
};
}