Skip to main content

UC-GEN-ACC-002 — Inloggen en sessie verwerken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-GEN-ACC-002
NaamInloggen en sessie verwerken
DomeinGeneriek / Account
Primaire actorGebruiker
Secundaire actor(en)Identity provider, OefenHub frontend, OefenHub backend, autorisatieservice, profiel-/instellingendienst
RolcontextNog niet definitief bij start van de usecase. Na succesvolle sessieverwerking wordt de actieve OefenHub-context server-side bepaald op basis van Users, actieve UserRoles, Roles, UserSettings en eventuele verplichte vervolgflows.
Betrokken schermenPublieke OefenHub-pagina of beveiligde route; externe identity-provider-login; OefenHub-authentication callback; geauthenticeerde frontpage; profiel- of vervolgflow indien nodig.
Gerelateerde usecasesUC-GEN-ACC-001 — Eerste login en account provisioning; UC-GEN-PROF-003 — Verplicht niveau instellen; UC-GEN-PROF-006 — Toegankelijkheid vóór en na login synchroniseren; UC-GEN-NOT-001 — Systeemnotificatie tonen
Primaire entiteitenUsers, UserRoles, Roles, UserSettings
Secundaire entiteiten / eventsSiteFeatureToggles, technische sessiecontext, identity-providerclaims, accountlogkanaal
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe OefenHub een succesvolle authenticatie via de externe identity provider vertaalt naar een geldige applicatiesessie binnen OefenHub.

De gebruiker voert credentials niet in bij OefenHub zelf. Authenticatie, wachtwoorden, wachtwoord vergeten, e-mailverificatie en de primaire sessie bij de identity provider vallen buiten OefenHub. OefenHub ontvangt na succesvolle authenticatie een callback of tokencontext, valideert de ontvangen identity-context en koppelt die aan het interne Users-record via ExternalId.

Wanneer voor de ontvangen ExternalId nog geen intern OefenHub-account bestaat, wordt de provisioningflow uit UC-GEN-ACC-001 uitgevoerd. Wanneer het interne account wel bestaat, controleert OefenHub of het account actief is, werkt de laatste activiteit bij, laadt de actieve rollen en instellingen, synchroniseert relevante toegankelijkheidsinstellingen en bepaalt naar welke OefenHub-route de gebruiker wordt geleid.

Deze usecase beschrijft dus niet het registreren of provisionen zelf, maar het reguliere inloggen en verwerken van de OefenHub-sessie.

3. Scope

Deze usecase omvat wel:

  • starten van een loginactie vanuit OefenHub;
  • doorverwijzing naar de externe identity provider;
  • verwerken van de terugkeer naar OefenHub na succesvolle authenticatie;
  • valideren van identity-providerclaims die OefenHub nodig heeft;
  • ophalen van het interne account via Users.ExternalId;
  • doorvallen naar UC-GEN-ACC-001 wanneer het interne account nog ontbreekt;
  • blokkeren van inloggen wanneer het interne OefenHub-account gedeactiveerd is;
  • bijwerken van Users.LastSeenAtUtc voor actieve accounts;
  • bepalen van actieve rollen en mogelijke frontendcontexten;
  • laden van UserSettings;
  • synchroniseren van toegankelijkheidsinstellingen volgens UC-GEN-PROF-006;
  • routeren naar frontpage, profiel of verplichte vervolgflow;
  • veilig afhandelen van sessieverloop, ongeldige callback, ontbrekende claims of uitgeschakelde login.

Deze usecase omvat niet:

  • Keycloak-registratie;
  • invoeren of controleren van wachtwoorden;
  • wachtwoord vergeten of wachtwoord resetten;
  • e-mailverificatie binnen de identity provider;
  • account provisioning zelf, behalve als verwijzing naar UC-GEN-ACC-001;
  • verplicht niveau inhoudelijk instellen;
  • accepteren of afwijzen van relatie-uitnodigingen;
  • account verwijderen, deactiveren of anonimiseren;
  • beheer van rollen of autorisaties;
  • aanmaken van systeemnotificaties of systeemberichten.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker heeft toegang tot een OefenHub-route waar inloggen mogelijk of vereist is.
PRE-002De identity provider is beschikbaar voor authenticatie.
PRE-003OefenHub kent de configuratie om de identity-providercallback, tokenvalidatie en ExternalId-claim te verwerken.
PRE-004De relevante loginfunctionaliteit is niet sitebreed geblokkeerd voor de actuele gebruikerscategorie, tenzij de gebruiker een toegestane beheer- of herstelroute gebruikt.
PRE-005Voor bestaande accounts bestaat maximaal één actief of gedeactiveerd Users-record met dezelfde ExternalId.
PRE-006Voor sessieverwerking zijn Roles, UserRoles en UserSettings beschikbaar of veilig initialiseerbaar via de accountprovisioningflow.

5. Post-condities

IDResultaat
POST-001Bij succesvolle login bestaat er één geldige OefenHub-sessiecontext voor de gebruiker.
POST-002De sessiecontext is gekoppeld aan exact één intern Users.Id.
POST-003Users.LastSeenAtUtc is bijgewerkt voor een actief bestaand account.
POST-004De actieve rollen en beschikbare frontendcontexten zijn server-side bepaald.
POST-005Toegankelijkheidsinstellingen zijn volgens de synchronisatieregels toegepast.
POST-006De gebruiker is naar de juiste vervolgroute geleid: frontpage, profiel/verplicht niveau, of een andere geautoriseerde terugkeerroute.
POST-007Bij ontbrekend intern account is UC-GEN-ACC-001 uitgevoerd of gestart als onderdeel van de loginverwerking.
POST-008Bij een gedeactiveerd of ongeldig account ontstaat geen geautoriseerde OefenHub-sessie.
POST-009Er worden geen wachtwoorden, credentials of identity-provider-sessiegegevens in OefenHub opgeslagen.

6. Trigger

De usecase start wanneer de gebruiker:

  • op Inloggen klikt;
  • een beveiligde OefenHub-route opent zonder geldige sessie;
  • terugkeert van de identity provider na succesvolle authenticatie;
  • een verlopen OefenHub-sessie opnieuw wil activeren via de loginflow.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1GebruikerPublieke pagina of beveiligde routeStart login of opent een route waarvoor authenticatie vereist is.OefenHub bepaalt dat een geldige OefenHub-sessie ontbreekt.Routeguard controleert uitsluitend sessieaanwezigheid, niet credentials.
2OefenHub frontendRouteguard / logincomponentStuurt gebruiker naar de externe identity provider.De identity-providerlogin wordt geopend.OefenHub toont geen eigen wachtwoordformulier.
3GebruikerIdentity-providerloginDoorloopt authenticatie bij de identity provider.De identity provider authenticeert de gebruiker of weigert de login.Credentials blijven buiten OefenHub.
4Identity providerCallback naar OefenHubStuurt gebruiker na succesvolle authenticatie terug naar OefenHub.OefenHub ontvangt een callback of tokencontext.Callback bevat minimaal een stabiele identity-provider-id en bruikbare accountclaims.
5OefenHub backendAuthenticatieverwerkingValideert callback, token, issuer, audience, geldigheid en vereiste claims.Bij geldige context wordt de interne accountkoppeling bepaald.ExternalId is de stabiele koppelsleutel.
6OefenHub backendAccountserviceZoekt Users op basis van ExternalId.Bestaand intern account wordt geladen.Bij ontbrekend account gaat de flow naar UC-GEN-ACC-001.
7OefenHub backendAccountserviceControleert Users.IsActive.Alleen actieve accounts krijgen een OefenHub-sessie.Gedeactiveerde of geanonimiseerde accounts worden niet regulier ingelogd.
8OefenHub backendAccountserviceWerkt Users.LastSeenAtUtc bij.Laatste activiteit is vastgelegd.Dit is een lichte accountmutatie bij succesvolle login.
9OefenHub backendAutorisatieserviceLaadt actieve UserRoles en bijbehorende Roles.Beschikbare rolcontexten worden bepaald.Frontendcontext wordt niet vertrouwd op basis van clientstate.
10OefenHub backendProfiel-/instellingendienstLaadt UserSettings.Profiel- en voorkeurencontext is beschikbaar.Instellingen zijn gebruikersspecifiek en geen sessiebron van waarheid.
11OefenHub backend / frontendToegankelijkheidslaagSynchroniseert toegankelijkheidsinstellingen volgens UC-GEN-PROF-006.De juiste toegankelijkheidsweergave wordt toegepast.Profielinstellingen zijn leidend na login; cookie/browserwaarde is afgeleid.
12OefenHub backendRoutering / contextbepalingBepaalt of verplichte vervolgflows nodig zijn.Gebruiker wordt naar profiel, verplichte niveauflow of frontpage geleid.Ontbrekend verplicht niveau leidt naar UC-GEN-PROF-003.
13OefenHub frontendFrontpage of terugkeerrouteToont de geauthenticeerde OefenHub-context.Gebruiker kan de applicatie gebruiken binnen zijn of haar autorisatie.Systeemnotificaties kunnen daarna via UC-GEN-NOT-001 worden getoond.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0013Gebruiker annuleert of faalt authenticatie bij de identity provider.OefenHub ontvangt geen geldige callback en blijft in publieke of niet-geauthenticeerde context.Identity-providerafhandeling; geen OefenHub-popup.Geen.
ALT-0025Callback, token of vereiste claim is ongeldig of verlopen.OefenHub weigert sessieopbouw en stuurt naar login of generieke fout-/toegangspagina.Generieke authenticatiefout, buiten popupregister.Geen.
ALT-0036Er bestaat nog geen Users-record voor de ontvangen ExternalId.OefenHub voert UC-GEN-ACC-001 uit. Na succesvolle provisioning keert de flow terug naar contextbepaling.Geen aparte popup vanuit deze usecase.Volgens UC-GEN-ACC-001.
ALT-0046Er bestaan meerdere interne records met dezelfde ExternalId.OefenHub blokkeert sessieopbouw en registreert een technische fout voor beheeronderzoek.Generieke foutmelding, buiten popupregister.Geen reguliere datamutatie.
ALT-0057Intern account bestaat maar Users.IsActive = false.OefenHub bouwt geen applicatiesessie op en toont een generieke toegang-geweigerd- of accountstatusmelding.Geen domeinspecifieke popup.Geen, behalve eventuele technische logging.
ALT-0069Gebruiker heeft geen actieve rol.OefenHub leidt naar een no-role/onvolledige-accountcontext of blokkeert toegang tot rolgebonden pagina’s.Generieke accountstatusmelding, buiten popupregister.Geen.
ALT-00712Gebruiker heeft een rol waarvoor een verplicht niveau ontbreekt.OefenHub leidt naar UC-GEN-PROF-003.Popupverwerking hoort bij UC-GEN-PROF-003.Geen vanuit deze usecase, behalve eerdere LastSeenAtUtc.
ALT-00811Toegankelijkheidscookie ontbreekt, is ongeldig of kan niet worden geschreven.OefenHub gebruikt profielinstellingen en gaat door zonder de cookie als bron te vertrouwen.Geen.Geen of alleen volgens UC-GEN-PROF-006.
ALT-0091Login is sitebreed uitgeschakeld voor reguliere gebruikers.OefenHub start geen reguliere loginflow of blokkeert sessieopbouw na terugkeer, afhankelijk van de route.Generieke beschikbaarheidsmelding, buiten popupregister.Geen.
ALT-01013Terugkeerroute is na login niet langer toegestaan.OefenHub negeert de oorspronkelijke route en leidt naar de passende frontpage of toegang-geweigerdafhandeling.Geen domeinspecifieke popup.Geen.
ALT-01113Sessie verloopt tijdens later gebruik.Routeguard start opnieuw de loginflow of stuurt naar publieke context.Geen domeinspecifieke popup.Geen.

9. Business rules

IDRegel
BR-001OefenHub verwerkt geen wachtwoorden en valideert geen credentials; dit is verantwoordelijkheid van de identity provider.
BR-002Een OefenHub-sessie mag alleen worden opgebouwd na een geldige identity-providercontext én een actief intern Users-record.
BR-003Users.ExternalId is de primaire koppelsleutel tussen identity-provideraccount en intern OefenHub-account.
BR-004Loginverwerking is idempotent: opnieuw inloggen met dezelfde ExternalId mag nooit een tweede Users-record aanmaken.
BR-005Wanneer een intern account ontbreekt, wordt accountaanmaak uitsluitend via UC-GEN-ACC-001 uitgevoerd.
BR-006Users.IsActive = false blokkeert reguliere applicatietoegang, ook wanneer de identity provider de gebruiker succesvol authenticeert.
BR-007De actieve rolcontext wordt server-side bepaald uit actieve UserRoles en Roles; clientstate of routeparameters zijn niet leidend.
BR-008Een gebruiker met meerdere rollen krijgt alleen de frontendcontexten die volgens de OefenHub-rolregels zijn toegestaan.
BR-009De keuze van frontendcontext is applicatielogica; alleen persistente voorkeuren of niveaukeuzes die functioneel nodig zijn worden in UserSettings opgeslagen.
BR-010Users.LastSeenAtUtc wordt bijgewerkt bij succesvolle verwerking van een actieve OefenHub-login.
BR-011Toegankelijkheidsinstellingen uit het profiel zijn na login leidend boven browserwaarden.
BR-012Browserwaarden voor toegankelijkheid zijn afgeleid en mogen geen autorisatie, identiteit of persoonsgegevens bevatten.
BR-013Een ontbrekend verplicht niveau wordt niet stilzwijgend opgelost binnen deze usecase, maar leidt naar UC-GEN-PROF-003.
BR-014Systeemnotificaties worden pas na succesvolle frontpage- of contextweergave verwerkt en blokkeren de loginflow niet.
BR-015Login- of sessiefouten leveren geen domeinspecifieke popup op; zij vallen onder generieke authenticatie- of toegangafhandeling.
BR-016E-mailgegevens uit identity-providerclaims mogen alleen volgens expliciete synchronisatieregels worden gebruikt; de identity provider blijft bronhouder voor het authenticatie-e-mailadres.

10. Datavalidatie

Veld / objectValidatie
Identity-providercallbackMoet afkomstig zijn van de geconfigureerde provider en cryptografisch geldig zijn.
Token / claimsIssuer, audience, geldigheid, handtekening en vereiste claims moeten geldig zijn.
ExternalIdVerplicht, stabiel en uniek binnen Users.
Email claimMoet bruikbaar zijn als identity-context en volgens OefenHub-normalisatieregels worden verwerkt wanneer relevant.
Users.IsActiveMoet true zijn voor reguliere sessieopbouw.
UserRolesAlleen actieve roltoekenningen tellen mee voor frontendcontext en autorisatie.
Roles.IsActiveInactieve rollen mogen geen actieve frontendcontext opleveren.
UserSettingsMoet bestaan of via provisioning beschikbaar zijn; ontbrekende settings bij een bestaand account worden veilig hersteld via beheerste initialisatie.
TerugkeerrouteMag alleen worden gebruikt wanneer de gebruiker na sessieverwerking server-side toegang heeft tot die route.
ToegankelijkheidscookieMag ontbreken of ongeldig zijn; profielinstellingen blijven leidend.
Featuretoggle loginWanneer loginfunctionaliteit functioneel uitstaat, moet de routeguard dit respecteren behalve voor expliciet toegestane beheer- of herstelroutes.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
6DelegatieUC-GEN-ACC-001Alleen wanneer het interne account ontbreekt; provisioning en uitnodigingskoppeling worden daar afgehandeld.
8UpdateUsersLastSeenAtUtc wordt bijgewerkt naar het actuele UTC-moment.
11Delegatie / optioneelUserSettings / browserwaardeToegankelijkheidssynchronisatie wordt uitgevoerd volgens UC-GEN-PROF-006. Databasewijziging vindt alleen plaats wanneer die usecase dat voorschrijft.
13TechnischSessiestate / claims-cacheApplicatiesessiecontext wordt opgebouwd of vernieuwd. Dit is geen domeintabelmutatie.
ALT-004Technisch eventAccountlog / applicatielogDubbele ExternalId-situatie wordt gelogd voor beheeronderzoek.
ALT-005Technisch eventAccountlog / applicatielogPoging tot login met gedeactiveerd intern account kan worden gelogd.

12. Geen datamutaties

EntiteitReden
Identity-providercredentialsOefenHub beheert geen wachtwoorden of credentials.
RolesLogin wijzigt de beschikbare rollen niet.
UserRolesLogin kent geen nieuwe rollen toe en trekt geen rollen in.
ProfileAvatarsLogin wijzigt geen profielfoto.
RelationshipInvitationsAlleen UC-GEN-ACC-001 koppelt pending uitnodigingen bij eerste provisioning. Reguliere login doet dit niet opnieuw als standaardmutatie.
SystemMessagesReguliere login maakt geen systeemberichten aan.
UserRelationshipsLogin maakt, wijzigt of beëindigt geen relaties.
PrivateMessageThreads / PrivateMessagesLogin maakt geen privécommunicatie aan.
TicketsLogin maakt of wijzigt geen meldingen.
SiteNotificationsLogin maakt of wijzigt geen site-notificaties.
SiteFeatureTogglesLogin leest toggles, maar wijzigt ze niet.

13. State diagram

Niet van toepassing. Deze usecase raakt geen persistent statusobject zoals een uitnodiging, ticket of oefenrun.

De identity-provider- en applicatiesessie kennen wel technische toestanden, maar die worden niet als OefenHub-domeinstatus in de database gemodelleerd.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Succesvolle login met bestaand intern account

16.2 Succesvolle login zonder intern account

16.3 Login geweigerd wegens gedeactiveerd intern account

17. Popupverwijzingen

PopupKeyMomentVariantDoel
Niet van toepassingLogin, sessieverwerking en toegang geweigerdNiet van toepassingAuthenticatie- en toegangafhandeling verlopen via routeguard, identity provider of generieke fout-/toegangspagina’s, niet via domeinspecifieke popups.

18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification

DoeldocumentAfleiding
Functioneel OntwerpBeschrijf dat OefenHub zelf geen wachtwoordlogin afhandelt, maar na identity-providerlogin de applicatiesessie en frontendcontext bepaalt.
Functioneel OntwerpBeschrijft dat een gedeactiveerd intern OefenHub-account geen toegang krijgt, ook wanneer de identity provider nog een geldige authenticatiecontext levert.
Functioneel OntwerpBeschrijf de routering na login: frontpage, terugkeerroute, verplicht niveau of no-role/onvolledige-accountcontext.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, autorisatie, Blazor frontendBeschrijft de callbackverwerking, tokenvalidatie, ExternalId-lookup, idempotente provisioningdelegatie en sessiecontextopbouw uit.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, autorisatie, Blazor frontendBeschrijft dat LastSeenAtUtc bij succesvolle login wordt bijgewerkt en dat technische sessiestate geen domeintabel is.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, autorisatie, Blazor frontendBeschrijft hoe identity-providerclaims worden gesynchroniseerd zonder credentials of wachtwoordgegevens op te slaan.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, autorisatie, Blazor frontendBeschrijft hoe toegankelijkheidscookie en profielinstellingen bij login worden gesynchroniseerd volgens UC-GEN-PROF-006.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, autorisatie, Blazor frontendBeschrijft veilige fallback bij ontbrekende claims, dubbele ExternalId, gedeactiveerd account en uitgeschakelde loginfunctionaliteit.
Software Requirements SpecificationBevat requirements voor login via identity provider, sessieverwerking, accountkoppeling, actieve-accountcontrole, rolcontextbepaling, sessieverloop en veilige foutafhandeling.
Database-informatieBevestig dat geen aparte sessietabel nodig is voor reguliere login; persistente effecten blijven beperkt tot Users.LastSeenAtUtc en eventuele gedelegeerde provisioning- of synchronisatiemutaties.
ArchitectuurLeg de grens vast tussen identity-providerauthenticatie en OefenHub-applicatieautorisatie.

19. SRS-trace

Deze usecase bevat geen normatieve requirementtekst. De centrale eis en acceptatiecriteria staan in de SRS; onderstaande tabel koppelt de usecase-afleiding alleen aan centrale SRS-*- en AC-*-items.

Usecase-afleidingDektUsecasecontext
REQ-UC-GEN-ACC-002-001SRS-ACC-002
SRS-NFR-SEC-001
SRS-ARCH-002
AC-ACC-002
AC-NFR-SEC-001
AC-ARCH-002
Gebruikers voor authenticatie doorverwijzen naar de externe identity provider en mag geen eigen wachtwoordvalidatie uitvoeren
REQ-UC-GEN-ACC-002-002SRS-ACC-002
AC-ACC-002
Na succesvolle identity-providerlogin de ontvangen callback en vereiste claims valideren voordat een OefenHub-sessie wordt opgebouwd
REQ-UC-GEN-ACC-002-003SRS-ACC-002
AC-ACC-002
Het interne account koppelen via Users.ExternalId
REQ-UC-GEN-ACC-002-004SRS-ACC-001
AC-ACC-001
Bij ontbrekend intern account de provisioningflow UC-GEN-ACC-001 uitvoeren of activeren
REQ-UC-GEN-ACC-002-005SRS-ACC-002
AC-ACC-002
Geen tweede Users-record aanmaken wanneer al een account met dezelfde ExternalId bestaat
REQ-UC-GEN-ACC-002-006SRS-AUTH-001
SRS-ACC-002
AC-AUTH-001
AC-ACC-002
Reguliere applicatietoegang weigeren wanneer het interne OefenHub-account gedeactiveerd is
REQ-UC-GEN-ACC-002-007SRS-RDM-001
SRS-ACC-002
AC-RDM-001
AC-ACC-002
Users.LastSeenAtUtc bijwerken na succesvolle sessieverwerking voor een actief account
REQ-UC-GEN-ACC-002-008SRS-AUTH-001
SRS-ACC-002
AC-AUTH-001
AC-ACC-002
Actieve rollen en toegestane frontendcontexten server-side bepalen
REQ-UC-GEN-ACC-002-009SRS-ACC-002
SRS-ACC-003
SRS-ACC-005
SRS-NFR-ACC-001
AC-ACC-002
AC-ACC-003
AC-ACC-005
AC-NFR-ACC-001
Na login gebruikersinstellingen laden en toegankelijkheidsinstellingen synchroniseren volgens de centrale toegankelijkheidsregels
REQ-UC-GEN-ACC-002-010SRS-ACC-002
SRS-CAT-001
AC-ACC-002
AC-CAT-001
Gebruikers met ontbrekend verplicht niveau naar de verplichte niveauflow leiden
REQ-UC-GEN-ACC-002-011SRS-AUTH-001
SRS-ACC-002
AC-AUTH-001
AC-ACC-002
Een oorspronkelijke terugkeerroute alleen gebruiken wanneer de gebruiker daar na sessieverwerking server-side toegang toe heeft
REQ-UC-GEN-ACC-002-012SRS-ACC-002
SRS-NFR-SEC-001
AC-ACC-002
AC-NFR-SEC-001
Sessieverloop veilig afhandelen door opnieuw te authenticeren of terug te vallen naar publieke context zonder domeindata te wijzigen
REQ-UC-GEN-ACC-002-013SRS-ACC-002
SRS-SHR-001
SRS-NFR-SEC-001
AC-ACC-002
AC-SHR-001
AC-NFR-SEC-001
Fouten zoals ontbrekende claims, dubbele ExternalId of gedeactiveerd account veilig afhandelen zonder gedeeltelijke sessieopbouw
REQ-UC-GEN-ACC-002-014SRS-ACC-002
SRS-REL-001
SRS-MSG-001
SRS-TIC-002
SRS-POP-002
AC-ACC-002
AC-REL-001
AC-MSG-001
AC-TIC-002
AC-POP-002
Login en sessieverwerking scheiden van mailboxberichten, systeemnotificaties, tickets, relaties en privéberichten

Aanvulling - remote authentication failure

Wanneer de identity-providercallback niet aan een geldige OefenHub-authenticatiepoging kan worden gekoppeld, bijvoorbeeld door ontbrekende correlation-cookie, toont OefenHub een veilige foutpagina in plaats van een Developer Exception. Het systeem logt de technische oorzaak met correlation-id en vraagt de gebruiker opnieuw aan te melden of verder te gaan in het venster waarin de login wel is afgerond.