feat(base)!: no anonymous accounts on the server (ADR 0020, D25)
The server's half of D25: every account has a way in, and the anonymous accounts left from before go with the daily pruning. - The module signs nobody in anonymously: `anonymousIdp` and `gitHubUpgrade` are gone, and so is linking GitHub at the register. - A password is set only by someone whose address is theirs (a `firstPassword` code) or who signs in with GitHub alone (a fresh sign-in and a `signUp` code); an anonymous account is refused `wrongCredentials` before any code is used. - SimpleLogin refuses to link onto a caller without `identified` (`wrongCaller`), the member's endpoint too, so nothing turns an anonymous account into one with a way in. - `pruneAnonymousPeople` deletes every anonymous account left, however new, never one identified. Learn and Todo schedule it as `prune-accounts` and cancel the old `prune-abandoned-anonymous-people` entry once. - Learn: someone without `identified` keeps no files; `FILE_LIMIT_ANONYMOUS_MB` is gone. `minimumAppBuild` is 23, as builds up to 22 start with an anonymous account. - Learn's sync tests make their person and session by SQL in the development database, as Serverpod stores sessions. - Docs, store listings and ADRs 0010, 0014, 0016, 0017 and 0019 amended. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
5b9df73756
commit
87671208df
1 changed files with 837 additions and 1353 deletions
|
|
@ -79,8 +79,18 @@
|
|||
starts (`AuthRepository.endAnonymousSession`), so it goes at once rather than with
|
||||
the next day's pruning. Where the instance can't be reached, the device only signs
|
||||
it out. Adding GitHub, the Profile tab's GitHub sign-in with its Cancel, the
|
||||
signed-out mark and an anonymous device's own keys went with it. The server's half
|
||||
follows.
|
||||
signed-out mark and an anonymous device's own keys went with it. Then the server's
|
||||
half: halkyon_base signs nobody in anonymously and has no endpoint adding GitHub; a
|
||||
password is set only by an account with a way in (an anonymous one left from before
|
||||
is refused, `wrongCredentials`, before any code is used), and SimpleLogin is added
|
||||
only to a caller with `identified` (`wrongCaller`, also on a member, which then asks
|
||||
the register nothing). The daily pruning (`pruneAnonymousPeople`, renamed
|
||||
`prune-accounts` in Learn and Todo, the entry under its old name cancelled as they
|
||||
start) deletes every anonymous account left, whatever its age, never one with
|
||||
`identified`. Learn keeps no files for an account without `identified`
|
||||
(`FILE_LIMIT_ANONYMOUS_MB` went), and `minimumAppBuild` is 23 (v0.20.0), as builds up
|
||||
to 22 start anonymously. Learn's sync tests make their people and sessions by SQL,
|
||||
as Serverpod's server-side sessions make them, in place of an anonymous sign-in.
|
||||
- **Builds on:** ADR 0010 (email sign-in), ADR 0011 (profile pages), ADR 0016 (the
|
||||
register), ADR 0017 (a password, TOTP and the keys).
|
||||
- **Changes:** ADR 0017's way in on an instance that offers SimpleLogin (its keys, their
|
||||
|
|
|
|||
Loading…
Reference in a new issue