ADR 0017, step 3. `password.beginChange` and `password.change` take the old password's SRP proof and a TOTP or recovery code, and the same keys wrapped under the new password; a session alone changes nothing, and an account without a confirmed authenticator is told to set one up first. `password.setRecoveryKeys` replaces the keys' wrapping under the recovery phrase for a TOTP code, so a device holding the keys can make a new phrase. A change of password ends every other session of the account in every service of the instance; resets of the password and of the account end them all. The register ends its own and keeps a notice per member (`sessions_ended_notice`, a migration that only creates it), told at once and hourly until it confirms, as deletions are told: it names a moment, so sessions made since stay, and the session that asked for a change. A member answering one ends its sessions made before that moment; a member signing someone in after a reset ends its own first and makes the new session only once its clock is past the moment. A reset not due says when it takes effect (`takesEffectAt` on `PasswordRefusedException`), across members too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
29 lines
No EOL
776 B
JSON
29 lines
No EOL
776 B
JSON
{
|
|
"__className__": "serverpod.DatabaseDefinition",
|
|
"schemaVersion": 2,
|
|
"moduleName": "halkyon_todo",
|
|
"tables": [],
|
|
"installedModules": [
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "halkyon_base",
|
|
"version": "20261020124836165-sessions-ended"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "serverpod",
|
|
"version": "20260824182259319"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "serverpod_auth_idp",
|
|
"version": "20260924105404509"
|
|
},
|
|
{
|
|
"__className__": "serverpod.DatabaseMigrationVersion",
|
|
"module": "serverpod_auth_core",
|
|
"version": "20260924105232991"
|
|
}
|
|
],
|
|
"migrationApiVersion": 1
|
|
} |