mana-swift-ui/Sources/ManaAuthUI/ManaAuthLinks.swift
Till JS f28ab235ab ManaAuthLinks: die zwei Mail-Ziele an einer Stelle statt in jeder App
Bis heute tippte jede App die Reset- und Verify-Adresse selbst ab, mit
dem erwartbaren Ergebnis: schluma und stetick zeigen auf
auth.mana.how/reset (404, richtig ist /reset-password), herbatrium und
moodlit auf app-eigene Pfade, die es nicht gibt.

Beide Fehlerarten fallen erst in der Mail auf, beim Nutzer, lange nach
dem Deploy — kein Test schlägt an, kein Log meldet etwas.

Wer eine echte eigene Seite hat (kartomo), setzt weiterhin seine eigene:
der Parameter bleibt offen, die Konstanten sind der geprüfte Standard
für alle anderen. Beide Adressen am 2026-08-19 mit 200 gemessen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 15:03:37 +02:00

33 lines
1.5 KiB
Swift

import Foundation
/// Die Ziele der beiden Auth-Mails — an **einer** Stelle für die ganze
/// Flotte.
///
/// 🛑 **Warum das eine eigene Datei wert ist.** Diese zwei Adressen
/// standen bis zum 2026-08-19 in jeder App einzeln abgetippt, und das
/// ist genau so ausgegangen, wie abgetippte Pfade ausgehen:
///
/// - `schluma` und `stetick` zeigten auf `auth.mana.how/reset` — den
/// Pfad gibt es nicht (404), richtig ist `/reset-password`.
/// - `herbatrium` und `moodlit` zeigten auf app-eigene Pfade
/// (`app.herbatrium.com/auth/reset`, `moodlit.mana.how/auth/reset`),
/// die beide 404 liefern.
///
/// Beide Fehlerarten fallen **erst in der Mail** auf, beim Nutzer, lange
/// nach dem Deploy — kein Test schlägt an, kein Log meldet etwas.
///
/// 🔴 **Wer eine app-eigene Seite hat, darf sie weiter setzen** (kartomo
/// hat eine echte `/auth/reset`-Route). Der Parameter bleibt dafür
/// offen; diese Konstanten sind der Standard für alle anderen — nicht
/// eine Vorschrift, sondern die geprüfte Vorgabe.
///
/// Gemessen am 2026-08-19: beide Adressen antworten mit 200.
public enum ManaAuthLinks {
/// Ziel des Reset-Links in der „Passwort vergessen"-Mail. Der Server
/// hängt `?token=…` an.
public static let passwordReset = URL(string: "https://auth.mana.how/reset-password")!
/// Ziel des Bestätigungs-Links in der Verifikations-Mail nach der
/// Registrierung.
public static let verifyEmail = URL(string: "https://auth.mana.how/verify-email")!
}