1
0

feat(auth): add microsoft auto-remember policy with tenant override and configurable remember TTL

This commit is contained in:
2026-03-10 22:48:10 +01:00
parent f403a6704f
commit 964c07a9de
32 changed files with 1267 additions and 17 deletions

View File

@@ -204,6 +204,7 @@ CREATE TABLE IF NOT EXISTS `tenant_auth_microsoft` (
`use_shared_app` TINYINT(1) NOT NULL DEFAULT 1,
`client_id_override` VARCHAR(191) NULL,
`client_secret_override_enc` TEXT NULL,
`auto_remember_mode` TINYINT(1) NULL DEFAULT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`modified` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
@@ -895,6 +896,8 @@ VALUES
('system_audit_retention_days', '365', 'setting.system_audit_retention_days'),
('frontend_telemetry_enabled', '0', 'setting.frontend_telemetry_enabled'),
('frontend_telemetry_sample_rate', '0.2', 'setting.frontend_telemetry_sample_rate'),
('frontend_telemetry_allowed_events', 'warn_once,ajax_error', 'setting.frontend_telemetry_allowed_events')
('frontend_telemetry_allowed_events', 'warn_once,ajax_error', 'setting.frontend_telemetry_allowed_events'),
('microsoft_auto_remember_default', '0', 'setting.microsoft_auto_remember_default'),
('remember_token_lifetime_days', '30', 'setting.remember_token_lifetime_days')
ON DUPLICATE KEY UPDATE
`key` = `key`;

View File

@@ -0,0 +1,24 @@
-- Idempotent update: add Microsoft auto-remember and token TTL settings,
-- plus tenant-level auto_remember_mode column.
INSERT INTO `settings` (`key`, `value`, `description`)
VALUES
('microsoft_auto_remember_default', '0', 'setting.microsoft_auto_remember_default'),
('remember_token_lifetime_days', '30', 'setting.remember_token_lifetime_days')
ON DUPLICATE KEY UPDATE
`key` = `key`;
-- Add auto_remember_mode to tenant_auth_microsoft (NULL = inherit global default).
SET @col_exists = (
SELECT COUNT(*) FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'tenant_auth_microsoft'
AND COLUMN_NAME = 'auto_remember_mode'
);
SET @sql = IF(@col_exists = 0,
'ALTER TABLE `tenant_auth_microsoft` ADD COLUMN `auto_remember_mode` TINYINT(1) NULL DEFAULT NULL AFTER `client_secret_override_enc`',
'SELECT 1'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;