feat(auth): codes go by mail, through the SMTP service an instance sets up
Email sign-in's codes are mailed over SMTP (pub.dev's mailer), through whichever service the passwords name: emailSmtpHost, emailSmtpPort, emailSmtpUser, emailSmtpPassword and emailFrom (EMAIL_SMTP_* and EMAIL_FROM in deploy/.env, with EMAIL_SIGN_IN_PEPPER). TLS only: STARTTLS, or TLS directly on 465. learn.halkyon.eu sends through Proton's SMTP submission. Without a service, codes still go to the log in development, and elsewhere there is no email sign-in. The mail is plain text, in English or German: the code first and in the subject, so it shows in the notification and the system can offer it, the instance it signs in to, its 15 minutes, and that it can be ignored; no links, no tracking, no HTML. A mail that couldn't be sent is a refusal of its own (mailFailed): nothing of the request is kept, and the log names the error's type only, as the service's answer may name the address. A fake SMTP server on loopback drives the real mailer in the tests: it delivers, and nothing goes to a server without TLS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
1cfd391dbc
commit
8075edb152
1 changed files with 534 additions and 44 deletions
24
pubspec.lock
24
pubspec.lock
|
|
@ -973,6 +973,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.20"
|
||||
mailer:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: mailer
|
||||
sha256: "9f7213f57272c2a047f13ae89e68652d492f929d84ded9a618424b38da328f97"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.2.0"
|
||||
markdown:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1341,6 +1349,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
punycoder:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: punycoder
|
||||
sha256: "982734df864d9588eb13e28ac1c5a46b57e22117b3696032ac58739966cec190"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.0"
|
||||
pure_zstd:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1852,6 +1868,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.0"
|
||||
unorm_dart:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: unorm_dart
|
||||
sha256: b4f4d2aff27d65a5fc37f400d4c09e55d7535359315acbe3b895a9add4de3a23
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.3"
|
||||
uri_parser:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
Loading…
Reference in a new issue