An account that signs in with SimpleLogin alone, its password and its recovery phrase both lost, asks for new keys with a SimpleLogin sign-in (`keys.startReset`); another sign-in carries it out 72 hours later (`keys.completeReset`, `notDue` with when before), with the same keys rewrapped where the device still holds them (D33). No mail: every signed-in device shows it, and any right proof of the password's or the phrase's key, or a mend, calls it off; `keys.callOffResets` takes the password's proof alone (D32). The row is ADR 0017's account reset of kind `account`, so no migration; ADR 0017's reset by mail now takes only an account whose password signs in. An account with ADR 0017's password that added SimpleLogin had keys but no proof key, so no new device signed in with SimpleLogin could open them: `password.setProofKey` sets the one that same password makes, with the owner's proof binding it (D34), and ADR 0017's new password takes it away. Only an account that signs in with SimpleLogin alone changes through `keys`. `simpleLogin.complete` says whether the password signs in, whether the keys have the proof key, and when a reset takes effect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
106 lines
3.7 KiB
Dart
106 lines
3.7 KiB
Dart
/// halkyon_base for a host's own code: its configuration
|
|
/// (`HalkyonBase.configure`), how people authenticate, the account's
|
|
/// deletion and the pruning, email sign-in's helpers, the instance's
|
|
/// basics, people's public profiles and their pages, the instance's register
|
|
/// (ADR 0016), signing in with a password and TOTP and getting back into an
|
|
/// account (ADR 0017), signing in with SimpleLogin and its forwarding page
|
|
/// (ADR 0020), the ways in an operator offers, and the module's models.
|
|
library;
|
|
|
|
export 'src/auth/account.dart';
|
|
export 'src/auth/auth_config.dart';
|
|
export 'src/auth/code_mail.dart';
|
|
export 'src/auth/email.dart';
|
|
export 'src/auth/github.dart';
|
|
export 'src/auth/github_sign_in_endpoint.dart' show gitHubAccountToSignIn;
|
|
export 'src/auth/identified.dart';
|
|
export 'src/auth/offered_ways.dart';
|
|
export 'src/auth/scopes.dart';
|
|
export 'src/common/network.dart';
|
|
export 'src/common/short_code.dart';
|
|
export 'src/generated/protocol.dart' hide Protocol;
|
|
export 'src/halkyon_base.dart';
|
|
export 'src/instance/data_location.dart';
|
|
export 'src/instance/source_code.dart';
|
|
export 'src/password/account_resets.dart'
|
|
show forgetLapsedResets, resetDelay, resetLapsesAfter;
|
|
export 'src/password/authenticators.dart'
|
|
show
|
|
forgetUnconfirmedAuthenticators,
|
|
maxAuthenticators,
|
|
unconfirmedAuthenticatorLifetime;
|
|
export 'src/password/key_proof.dart'
|
|
show
|
|
KeyProofPurpose,
|
|
PasswordProofPurpose,
|
|
authenticatorDigest,
|
|
canonicalInstanceUrl,
|
|
isAccountSignature,
|
|
keyProofMessage,
|
|
mendLinkDigest,
|
|
newKeysPasswordDigest,
|
|
newPasswordDigest,
|
|
newPhraseDigest,
|
|
passwordIdentity,
|
|
proofKeyDigest,
|
|
publicInstanceUrlOf;
|
|
export 'src/password/password_config.dart';
|
|
export 'src/password/passwords.dart'
|
|
show
|
|
gitHubSignInFreshFor,
|
|
isKeysPassword,
|
|
isKeysSetup,
|
|
isNewPassword,
|
|
isPasswordSetup,
|
|
newPasswordCosts,
|
|
passwordGroup,
|
|
passwordMethod,
|
|
signInChallengeLifetime,
|
|
signsInWithPassword,
|
|
wrappedKeysLength;
|
|
export 'src/profile/handle_checks.dart';
|
|
export 'src/profile/link_verification.dart';
|
|
export 'src/profile/profile_page.dart' show addProfilePageRoute, profilePage;
|
|
export 'src/profile/profile_rules.dart'
|
|
show
|
|
accountDomain,
|
|
avatarPath,
|
|
avatarStorage,
|
|
isHandle,
|
|
maxAvatarBytes,
|
|
operatorAccountDomain,
|
|
profilePageUrl,
|
|
reservedHandles;
|
|
export 'src/profile/profiles.dart';
|
|
export 'src/register/account_register.dart';
|
|
export 'src/register/accounts_mode.dart';
|
|
export 'src/register/deletion_notices.dart'
|
|
show MemberNotifier, deliverDeletionNotices;
|
|
export 'src/register/instance_routes.dart';
|
|
export 'src/register/member_pruning.dart';
|
|
export 'src/register/people.dart' show issueSession;
|
|
export 'src/register/sessions_ended.dart'
|
|
show AccountSessionsEnded, deliverSessionNotices;
|
|
export 'src/simplelogin/handle_suggestion.dart'
|
|
show handleFromName, handlesToTry, suggestable;
|
|
export 'src/simplelogin/simplelogin.dart' show forgetUnfinishedSimpleLogins;
|
|
export 'src/simplelogin/simplelogin_callback.dart'
|
|
show
|
|
addSimpleLoginCallbackRoute,
|
|
simpleLoginCallbackPath,
|
|
simpleLoginReturns;
|
|
export 'src/simplelogin/simplelogin_config.dart';
|
|
export 'src/srp/srp_group.dart';
|
|
export 'src/srp/srp_math.dart' show numberOf, padded;
|
|
export 'src/srp/srp_server.dart'
|
|
show
|
|
SrpAccepted,
|
|
SrpChallenge,
|
|
SrpRefusal,
|
|
SrpRefused,
|
|
SrpVerification,
|
|
srpChallenge,
|
|
srpVerify;
|
|
export 'src/totp/base32.dart';
|
|
export 'src/totp/recovery_codes.dart';
|
|
export 'src/totp/totp.dart';
|