Bei Study anmelden

Diese Seite ist der öffentliche eMedys-Auftritt. Dein Konto und deine privaten Inhalte laufen auf Study; die Anmeldung öffnet sich dort in einem eigenen Fenster.

Der erste Login war zu umständlich

Szene 7 von 15

Der erste Pilot verband Lernvisite und Nextcloud über Authentik. Verpflichtende Authenticator-Einrichtung sollte den Zugang absichern, erhöhte aber die Einstiegshürde.

Erklärung

Authentik ist ein Identitätsbroker: Er vermittelt einen geprüften Nachweis an Anwendungen. Im ersten Pilot waren explizit zugeordnete Konten und stärkere Authentifizierung vorgesehen. Das war eine bewusst begrenzte Lösung, noch kein allgemeines Onboarding für neue Mitglieder. Der folgende Entscheidungsbericht nennt dann den entscheidenden Einwand: Für eine offene Community wurde der Einstieg zu aufwendig. Wir zeigen beide Entscheidungen, weil Softwareentwicklung aus Rückmeldungen besteht. Eine frühere Architekturentscheidung wird nicht aus der Geschichte gelöscht; eine spätere ersetzt ihren betroffenen Teil. Achtet darauf, alte Anleitungen nicht als heutigen Ablauf zu übernehmen.

Entscheidung und Rückmeldung

Pilot
c050d65: eigener Broker, explizite Kontozuordnung, verpflichtende Authenticator-Einrichtung.
Rückmeldung
Der offene Community-Einstieg hat zu viel Reibung.
Überarbeitung
8baf42f: vorhandener OTP-Einstieg bleibt primär; Dokumentenzugang nutzt ihn weiter.

Belege

Frühere Entscheidung · später geändert · feat(leana): add dedicated shared campus sign-in pilot

2026-09-16 · docs/lernbegleiter/engineering/adr-0022-campus-shared-signin.md · c050d6536a8cf05ff125a9530c3320e4cf70b0b0

The owner identified separate Nextcloud registration/login as the main onboarding problem and approved the shared-sign-in phase. Deploy a dedicated Authentik 2026.8.2 identity service at `login-study-dev.emedys.com`, with separate confidential OIDC clients for Lernvisite and Nextcloud. Use email-link authentication plus mandatory authenticator enrollment/verification. No second password or manually registered Hub account is needed for the existing mapped pilot user.

Retain current Lernvisite email/mobile login, local Nextcloud recovery login, original files and native MFA settings. Do not build an identity provider into Flask, share browser cookies between apps, adopt accounts by email, import remote roles or change production instances.
Nachfolgende Entscheidung · 16.09.2026 · feat(leana): harmonize community OTP with institutional SSO broker

2026-09-16 · docs/lernbegleiter/engineering/adr-0023-community-otp-and-institution-sso.md · 8baf42f7300d40c7d76b4a88fe466d8b4841f93d

The shared-login pilot added too much friction for an open community. The owner approved public reading, the existing simple OTP process as the primary login, automatic first-use document accounts, optional Discord, and stronger authentication for administrators. The owner also explicitly wants to retain Authentik for institution-managed identities and future SSO, including Microsoft/Teams and university services where supported.
Git-Diff · überarbeiteter Einstieg · feat(leana): harmonize community OTP with institutional SSO broker

2026-09-16 · leana/tools/study_companion/templates/login.html · 8baf42f7300d40c7d76b4a88fe466d8b4841f93d

diff --git a/leana/tools/study_companion/templates/login.html b/leana/tools/study_companion/templates/login.html
index 5f2a972..d121846 100644
--- a/leana/tools/study_companion/templates/login.html
+++ b/leana/tools/study_companion/templates/login.html
@@ -40,7 +40,6 @@
 </head>
 {% macro login_panel() %}
     <section class="login-card login-band" id="anmelden" aria-labelledby="login-heading">
-      {% if campus_identity %}<p><a class="primary" href="/auth/campus">Mit Campus-Zugang anmelden</a> · Pilotzugang für freigeschaltete Konten</p>{% endif %}
       <details class="login-disclosure" open>
       <summary><span>Anmelden</span><span class="login-toggle" aria-hidden="true">×</span></summary>
       <div class="login-layout"><div class="login-copy">
@@ -98,7 +97,7 @@
       <p class="hero-promise">Verstehen. Üben.<br> Gemeinsam weiterkommen.</p>
       <p class="hero-lead">Deine Unterlagen, Tutorhilfe, Übungen und Karteikarten an einem Ort.<span id="hero-more"> Plane deinen Lernalltag, bereite dich gezielt auf Prüfungen vor und tausche dich mit anderen Studierenden aus.</span><button type="button" class="hero-more-toggle" aria-controls="hero-more" aria-expanded="true" aria-label="Mehr über Lernvisite" title="Mehr über Lernvisite" hidden><span aria-hidden="true">⌄</span></button></p>
       <p class="hero-scope">Für dein Medizinstudium – und den virtuellen Engineering-Campus.</p>
-      <div class="hero-start"><a class="button hero-signup" href="/access-request" data-lv-analytics-cta="signup" data-lv-analytics-placement="hero">Konto erstellen <span aria-hidden="true">↗</span></a><a class="text-link hero-discover" href="#lernen-example">Beispiel ausprobieren <span aria-hidden="true">↓</span></a></div>
+      <div class="hero-start"><a class="button hero-signup" href="/access-request" data-lv-analytics-cta="signup" data-lv-analytics-placement="hero">Konto erstellen <span aria-hidden="true">↗</span></a><a class="text-link hero-discover" href="/engineering/explore/">Offene Kurse entdecken <span aria-hidden="true">↓</span></a></div>
       <div class="hero-foot"><span>Kostenlos von <span itemprop="publisher" itemscope itemtype="https://schema.org/Organization">{% if seo is defined %}<meta itemprop="url" content="{{ seo.operator_url }}"><span itemprop="name">{{ seo.operator }}</span>{% else %}<span itemprop="name">eMedys AG</span>{% endif %}</span></span></div>
     </div></div>
   </section>

Mit meinem Konto im Hörsaal öffnen →

Quellen

Alle Lernwege