Skip to main content

UC-GEN-ACC-001 — Eerste login en account provisioning

1. Kerngegevens

VeldWaarde
Usecase-IDUC-GEN-ACC-001
NaamEerste login en account provisioning
DomeinGeneriek / Account
Primaire actorGebruiker
Secundaire actor(en)Identity provider, OefenHub backend, relatie- en berichtenservice
RolcontextPublieke of nog niet volledig bepaalde rolcontext na succesvolle authenticatie; definitieve OefenHub-rolcontext wordt server-side bepaald uit UserRoles en eventuele geldige registratie- of uitnodigingscontext.
Betrokken schermenExterne login-/registratieflow bij de identity provider; OefenHub-authentication callback; doorgeleiding naar frontpage, profiel of verplichte vervolgflow.
Gerelateerde usecasesUC-GEN-PROF-001 — Profiel bekijken; UC-GEN-PROF-003 — Verplicht niveau instellen; UC-GEN-REL-005 — Relatie-uitnodiging accepteren of afwijzen; UC-GEN-MSG-001 — Berichtenoverzicht bekijken
Primaire entiteitenUsers, UserRoles, Roles, UserSettings
Secundaire entiteiten / eventsRelationshipInvitations, RelationshipEvents, SystemMessages, account-provisioninglog
Gerelateerde popupsNiet van toepassing
PopupregisterNiet van toepassing
MoSCoWMust

2. Omschrijving

Deze usecase beschrijft hoe OefenHub na een succesvolle login via de externe identity provider controleert of de gebruiker al als intern OefenHub-account bestaat. Wanneer nog geen intern account bestaat, maakt OefenHub een Users-record aan, koppelt dit aan de stabiele externe identity-provider-id, initialiseert de benodigde basisinstellingen en verwerkt openstaande relatie-uitnodigingen die naar hetzelfde genormaliseerde e-mailadres zijn verstuurd.

De usecase begint pas nadat de identity provider de gebruiker succesvol heeft geauthenticeerd. Authenticatie, wachtwoorden, e-mailverificatie, credentialbeheer en sessie-uitgifte zelf vallen buiten OefenHub en buiten deze usecase.

3. Scope

Deze usecase omvat:

  • verwerken van een succesvolle identity-providerlogin binnen OefenHub;
  • controleren of Users.ExternalId al bekend is;
  • idempotent ophalen van het bestaande interne account;
  • aanmaken van een nieuw intern Users-record wanneer het externe account nog niet gekoppeld is;
  • vastleggen van de stabiele externe identity-provider-id in Users.ExternalId;
  • initialiseren van verplichte basisvelden, UserSettings en waar van toepassing initiële publieke rolcontext;
  • blokkeren of veilig afbreken bij ontbrekende of conflicterende identity-data;
  • koppelen van geldige pending relatie-uitnodigingen op genormaliseerd e-mailadres;
  • aanmaken van systeemberichten voor gekoppelde inkomende relatie-uitnodigingen;
  • vastleggen van auditbare provisioning- en koppelgebeurtenissen waar relevant;
  • bepalen van de eerstvolgende OefenHub-route na provisioning.

Deze usecase omvat niet:

  • registratie, loginformulier, e-mailverificatie, wachtwoordbeheer of sessiebeleid van de identity provider;
  • wijzigen van e-mailadres of wachtwoord;
  • account verwijderen, deactiveren of anonimiseren;
  • accepteren of afwijzen van relatie-uitnodigingen;
  • kiezen of toevoegen van een ontbrekende doelrol bij acceptatie van een relatie-uitnodiging;
  • verplicht niveau instellen na provisioning;
  • beheerderstoekenning van niet-publieke rollen;
  • inhoudelijke frontpage-opbouw na succesvolle provisioning.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker heeft een succesvolle authenticatie bij de externe identity provider doorlopen.
PRE-002De identity provider levert een stabiele externe gebruikers-id aan die geschikt is voor Users.ExternalId.
PRE-003De identity provider levert een e-mailadres of een ander door OefenHub verplicht verklaard identificerend profielgegeven aan.
PRE-004De OefenHub backend kan de token-/claimset server-side valideren.
PRE-005De accountprovisioning wordt binnen één transactioneel of idempotent verwerkingspad uitgevoerd om dubbele accounts te voorkomen.

5. Post-condities

IDResultaat
POST-001Voor een bekende ExternalId is het bestaande interne Users-record geladen en is geen tweede gebruiker aangemaakt.
POST-002Voor een nieuwe ExternalId is precies één actief intern Users-record aangemaakt.
POST-003Voor een nieuw account is een bijbehorend UserSettings-record aanwezig of aantoonbaar geïnitialiseerd.
POST-004Geldige pending relatie-uitnodigingen voor het genormaliseerde e-mailadres zijn waar mogelijk gekoppeld aan Users.Id.
POST-005Voor gekoppelde inkomende uitnodigingen zijn mailbox-systeemberichten aangemaakt zodat de gebruiker deze later kan openen en verwerken.
POST-006De gebruiker wordt doorgestuurd naar de passende OefenHub-vervolgroute.
POST-007Bij conflicterende of onvolledige identity-data is geen half aangemaakt of inconsistent account zichtbaar voor reguliere gebruikersflows.
POST-008Wanneer de identity-providerlogin wel slaagt maar de interne OefenHub-initialisatie niet volledig kan worden afgerond, krijgt de gebruiker geen reguliere OefenHub-toegang en wordt de fout technisch herleidbaar vastgelegd.

6. Trigger

De usecase start wanneer de gebruiker na succesvolle authenticatie bij de externe identity provider terugkeert naar OefenHub en de OefenHub backend de identity-providercallback, token of sessiecontext verwerkt.

7. Normale processtroom

StapActorScherm / componentActieSysteemresponsData / regel
1GebruikerIdentity providerRondt login of registratie succesvol af.Identity provider stuurt de gebruiker terug naar OefenHub met een geldige authenticatiecontext.Credentials blijven buiten OefenHub.
2OefenHub frontendAuth callbackOntvangt de terugkeer naar OefenHub.Frontend start de server-side sessie- of profielcontrole.Frontend bepaalt niet zelf of een account bestaat.
3OefenHub backendAuthenticatielaagValideert token, sessie en vereiste claims.Alleen een geldig en betrouwbaar geauthenticeerd subject wordt verder verwerkt.ExternalId moet server-side betrouwbaar zijn.
4OefenHub backendAccountserviceNormaliseert identity-data voor interne verwerking.E-mailadres wordt case-insensitive genormaliseerd voor matching en uitnodigingskoppeling.Normalisatie wijzigt niet de credentialbron bij de identity provider.
5OefenHub backendAccountservice / databaseZoekt een actief of bestaand Users-record op basis van ExternalId.Wanneer een gebruiker bestaat, wordt provisioning als idempotente bestaande-accountflow afgehandeld.Users.ExternalId is uniek.
6OefenHub backendAccountservice / databaseStelt vast dat nog geen intern account bestaat.Backend start een gecontroleerde accountprovisioning.Nieuwe gebruiker wordt alleen na succesvolle identity-providerlogin aangemaakt.
7OefenHub backendAccountservice / databaseMaakt Users aan met interne GUID, ExternalId, e-mailadres, naamvelden en IsActive = true.Intern OefenHub-account bestaat en is gekoppeld aan de externe identiteit.OefenHub bewaart geen wachtwoord of credentialstatus.
8OefenHub backendInstellingenservice / databaseMaakt of initialiseert UserSettings.Standaardwaarden voor voorkeuren en toegankelijkheid zijn beschikbaar.UserSettings.UserId is één-op-één met Users.Id.
9OefenHub backendRollenservice / databaseVerwerkt beschikbare initiële publieke rolcontext, indien deze betrouwbaar uit de registratieflow beschikbaar is.Alleen toegestane publieke rollen worden als actieve UserRoles vastgelegd.Niet-publieke rollen worden niet via publieke provisioning toegekend.
10OefenHub backendRelatieservice / databaseZoekt pending RelationshipInvitations voor hetzelfde genormaliseerde e-mailadres.Geldige uitnodigingen binnen de koppelingstermijn worden geselecteerd.Uitnodigingen naar onbekende e-mailadressen hebben ToEmail gevuld en ToUserId = null.
11OefenHub backendRelatieservice / databaseKoppelt geselecteerde uitnodigingen aan het nieuwe account.RelationshipInvitations.ToUserId wordt gevuld en koppelgebeurtenis wordt auditbaar.Alleen nog geldige pending uitnodigingen worden gekoppeld.
12OefenHub backendBerichtenservice / databaseMaakt systeemberichten aan voor gekoppelde inkomende uitnodigingen.De gebruiker kan uitnodigingen via het berichtenoverzicht openen.SystemMessages.EntityType = RelationshipInvitation; EntityId = RelationshipInvitations.Id.
13OefenHub backendAccountservice / auditlogLegt relevante provisioning- en koppelmomenten vast.Provisioning is herleidbaar zonder credentialgegevens op te slaan.Accountacties kunnen aanvullend in een beperkt accountlogkanaal worden vastgelegd.
14OefenHub backendRoutering / frontendBepaalt de volgende route.Gebruiker gaat naar frontpage, profiel, verplicht-niveauflow of een andere noodzakelijke vervolgflow.Routekeuze volgt uit rolcontext, profielvolledigheid en bestaande business rules.

8. Alternatieve en exceptionele processtromen

IDVanaf stapSituatieSysteemgedragPopup / meldingDatamutatie
ALT-0013Token of sessiecontext is ongeldig.OefenHub accepteert de callback niet en stuurt de gebruiker terug naar de generieke loginflow.Geen domeinpopup.Geen.
ALT-0023Verplichte claim voor ExternalId ontbreekt.Provisioning wordt geblokkeerd en technisch gelogd. De gebruiker krijgt een generieke accountfout of wordt opnieuw naar login geleid.Geen domeinpopup.Geen accountmutatie.
ALT-0034E-mailadres ontbreekt of is niet bruikbaar voor OefenHub.Provisioning wordt niet afgerond zolang het verplichte identificerende gegeven ontbreekt.Generieke accountfout of identity-providerroute.Geen of rollback van voorbereidende mutaties.
ALT-0045ExternalId bestaat al.Backend gebruikt het bestaande Users-record en voert alleen noodzakelijke sessie-/last-seen-/contextverwerking uit.Geen.Eventueel LastSeenAtUtc of technische sessiecontext bijgewerkt.
ALT-0055ExternalId bestaat, maar Users.IsActive = false.Gebruiker krijgt geen reguliere toegang; OefenHub behandelt dit als gedeactiveerd of verwijderd intern account.Generieke toegang-/accountmelding buiten popupregister.Geen reguliere provisioning.
ALT-0065E-mailadres hoort al bij een ander intern account met andere ExternalId.Provisioning wordt geblokkeerd en als accountconflict gelogd.Generieke accountfout.Geen nieuw account.
ALT-0079Initiële rolcontext ontbreekt.Account kan worden aangemaakt, maar de gebruiker wordt doorgestuurd naar een onvolledig-account- of rolkeuzeflow wanneer dat functioneel vereist is.Geen domeinpopup vanuit deze usecase.Users en UserSettings kunnen bestaan; UserRoles mogelijk nog leeg of beperkt.
ALT-0089Aangevraagde rol is niet publiek of niet actief.Rol wordt niet toegekend via provisioning; vervolgflow of beheerhandeling is nodig.Geen domeinpopup.Geen UserRoles-record voor die rol.
ALT-00910Er zijn geen pending uitnodigingen voor het e-mailadres.Provisioning gaat door zonder relatiekoppeling of systeembericht voor uitnodigingen.Geen.Geen relatie- of berichtmutatie.
ALT-01010Pending uitnodiging is verlopen of niet meer geldig.Uitnodiging wordt niet gekoppeld. Eventuele verlopenafhandeling blijft eigendom van cleanup-/relatiedomein.Geen.Geen ToUserId-koppeling voor deze uitnodiging.
ALT-01111Meerdere geldige pending uitnodigingen bestaan voor hetzelfde e-mailadres.Alle geldige uitnodigingen worden aan het account gekoppeld, mits zij afzonderlijk valide zijn.Geen.Meerdere uitnodigingen kunnen ToUserId krijgen en elk een systeembericht opleveren.
ALT-01212Systeembericht kan niet worden aangemaakt na uitnodigingskoppeling.Transactie wordt teruggedraaid of de fout wordt technisch hersteld volgens transactionele inrichting; gebruiker ziet geen halve uitnodigingsflow.Geen domeinpopup.Geen inconsistente halfverwerking.
ALT-0137-13Identity-providerlogin of registratie is gelukt, maar de interne OefenHub-initialisatie faalt na start van provisioning.OefenHub beschouwt de login als niet bruikbaar voor reguliere toegang, toont een generieke accountfout of contactroute en logt de exacte technische oorzaak voor beheeranalyse. Er wordt geen automatische gebruikersgerichte herstelactie aangeboden.Generieke accountfout buiten popupregister.Geen half bruikbaar account; uitgevoerde mutaties worden transactioneel teruggedraaid of het account blijft intern geblokkeerd/onvolledig en niet regulier toegankelijk totdat beheer of technische analyse dit oplost.
ALT-01414Verplicht niveau ontbreekt na provisioning.Gebruiker wordt naar UC-GEN-PROF-003 geleid.Popup of waarschuwing hoort bij profielusecase.Geen extra mutatie in deze usecase.

9. Business rules

IDRegel
BR-001OefenHub is niet de bronhouder voor authenticatie, wachtwoorden, sessies of credential-lifecycle.
BR-002Een intern OefenHub-account mag pas worden aangemaakt na succesvolle, server-side gevalideerde authenticatie bij de externe identity provider.
BR-003Users.ExternalId is de stabiele koppelsleutel naar de externe identity provider en mag niet via de GUI wijzigbaar zijn.
BR-004Provisioning is idempotent: dezelfde ExternalId mag nooit tot meerdere actieve of historische Users-records leiden.
BR-005E-mailadresvergelijking voor provisioningconflicten en uitnodigingskoppeling gebeurt case-insensitive en genormaliseerd.
BR-006Users bevat basisprofielgegevens, maar voorkeuren en toegankelijkheidsinstellingen horen in UserSettings.
BR-007Voor een nieuw account moet een UserSettings-record beschikbaar zijn voordat reguliere gebruikersflows afhankelijk worden van instellingen.
BR-008Publieke rolkeuze mag alleen leiden tot UserRoles voor actieve publieke rollen. Niet-publieke rollen vereisen beheer- of administratieve toekenning.
BR-009Een relatie-uitnodiging naar een onbekend e-mailadres kan pas aan een gebruiker worden gekoppeld nadat er een intern Users.Id bestaat.
BR-010Voor gekoppelde inkomende relatie-uitnodigingen wordt de primaire ingang voor de gebruiker een systeembericht; de relatiepagina toont geen aparte inkomende-uitnodigingenlijst.
BR-011Een systeembericht voor een relatie-uitnodiging mag pas worden aangemaakt nadat de uitnodiging aan een bestaand intern account gekoppeld kan worden.
BR-012Provisioning mag geen relatie accepteren, afwijzen of actief maken; dat gebeurt pas in de relatieverwerkingsusecase.
BR-013Bij een gedeactiveerd of geanonimiseerd intern account mag een nieuwe login met dezelfde externe identiteit niet stilzwijgend een nieuw regulier account aanmaken.
BR-014Accountprovisioning moet transactioneel of herstelbaar zijn zodat geen half aangemaakte accounts, settings of uitnodigingskoppelingen ontstaan.
BR-015Wanneer externe authenticatie slaagt maar interne OefenHub-initialisatie faalt, mag de gebruiker niet alsnog een gedeeltelijke OefenHub-sessie krijgen.
BR-016Interne provisioningfouten worden technisch gelogd met voldoende correlatie-informatie voor beheeranalyse, zonder credentials, tokens of wachtwoorden op te slaan.
BR-017Credentialgegevens, wachtwoorden en identity-providerinterne status worden niet in OefenHub-domeintabellen opgeslagen.

10. Datavalidatie

Veld / objectValidatie
Identity-provider token / sessieMoet server-side valide, niet verlopen en afkomstig van de vertrouwde identity provider zijn.
Externe subject-id / ExternalIdVerplicht, stabiel, uniek binnen Users en niet wijzigbaar via de GUI.
E-mailadresVerplicht wanneer OefenHub dit als identificerend gegeven gebruikt; case-insensitive normaliseren voor uniqueness- en uitnodigingsmatching.
Users.EmailMoet uniek zijn binnen actieve en historische accountregels volgens de gekozen accountlifecycle-regels.
Users.DisplayNameVerplicht voor uniforme weergave in UI en berichten; mag niet uitsluitend uit lege tekens bestaan.
Users.FirstName, MiddleName, LastNameWaarden moeten voldoen aan lengte- en systeemwaarderegels; gereserveerde systeemwaarde # mag niet via normale UI-input worden opgeslagen.
Users.ProfileAvatarIdMag null zijn of moet verwijzen naar een actieve vooraf gedefinieerde avatar.
UserSettings.UserIdPer gebruiker maximaal één settingsrecord.
Initiële rolcodeAlleen actieve, publieke en voor registratie/provisioning toegestane rollen mogen automatisch worden toegekend.
Pending relatie-uitnodigingMoet Status = Pending hebben, binnen de geldige koppelingstermijn vallen en hetzelfde genormaliseerde e-mailadres gebruiken.
RelationshipInvitations.ToUserIdMag alleen worden gevuld met het nieuwe Users.Id wanneer de uitnodiging nog geldig en niet afgehandeld is.
SystemMessages.EntityTypeVoor gekoppelde relatie-uitnodigingen: RelationshipInvitation.
SystemMessages.EntityIdMoet verwijzen naar de gekoppelde RelationshipInvitations.Id volgens applicatielogica.

11. Datamutaties en events

StapTypeEntiteit / eventMutatie
5ReadUsersZoekt bestaand account op basis van ExternalId.
7CreateUsersMaakt intern account aan met ExternalId, e-mailadres, naamvelden, IsActive = true en timestamps.
8CreateUserSettingsInitialiseert standaardinstellingen voor de nieuwe gebruiker.
9CreateUserRolesLegt toegestane initiële publieke roltoekenning vast indien betrouwbaar beschikbaar.
10ReadRelationshipInvitationsZoekt geldige pending uitnodigingen op genormaliseerd e-mailadres.
11UpdateRelationshipInvitationsVult ToUserId voor geldige gekoppelde uitnodigingen.
11CreateRelationshipEventsLegt koppelgebeurtenis vast, bijvoorbeeld invitation_linked_to_user.
12CreateSystemMessagesMaakt systeembericht voor de nieuwe gebruiker met verwijzing naar de gekoppelde uitnodiging.
13LogAccount-provisioninglogLegt provisioning, conflictsituaties en interne initialisatiefouten auditbaar vast zonder credentials.
14UpdateUsersEventueel bijwerken van LastSeenAtUtc of sessiegerelateerde activiteit.
ALT-013LogAccount-provisioninglogLegt vast dat externe authenticatie is gelukt maar interne OefenHub-initialisatie niet bruikbaar is afgerond.

12. Geen datamutaties

EntiteitReden
Identity-provider accountOefenHub beheert geen registratie, wachtwoord, e-mailverificatie of credentialstatus bij de identity provider.
RelationshipInvitations.StatusProvisioning koppelt uitnodigingen aan een gebruiker, maar accepteert of wijst ze niet af.
UserRelationshipsEr ontstaat nog geen actieve relatie tijdens provisioning.
PrivateMessageThreadsAccountprovisioning start geen privégesprek.
PrivateMessagesAccountprovisioning maakt geen privébericht aan.
Ticket*-tabellenMeldingen/tickets worden niet geraakt door eerste accountprovisioning.
ProfileAvatarsDe vaste avatarset wordt niet gewijzigd.
SiteFeatureTogglesFeaturetoggles worden niet aangepast.
SystemMessages.ReadAtUtcAangemaakte systeemberichten zijn nog ongelezen; lezen gebeurt pas bij openen.

13. State diagram

Deze usecase raakt geen zelfstandig statusobject met meerdere functionele statussen. De accountlifecycle wordt hier alleen initieel bepaald: geen intern account, bestaand actief account, gedeactiveerd account of nieuw geprovisioneerd actief account.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

16.1 Nieuwe gebruiker wordt geprovisioneerd

16.2 Bestaande gebruiker logt opnieuw in

16.3 Provisioning wordt geblokkeerd door conflict

17. Popupverwijzingen

PopupKeyMomentVariantDoel
Niet van toepassingNiet van toepassingNiet van toepassingLoginflow, accountfouten en toegangsbewaking worden generiek afgehandeld buiten het domeinspecifieke popupregister.

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

DoeldocumentAfleiding
Functioneel OntwerpBeschrijf eerste OefenHub-verwerking na succesvolle identity-providerlogin als aparte accountprovisioningflow.
Functioneel OntwerpBeschrijft dat registratie, e-mailverificatie, wachtwoorden en sessies buiten OefenHub bij de identity provider liggen.
Functioneel OntwerpBeschrijf dat een nieuw intern OefenHub-account pas ontstaat na succesvolle login en dat ExternalId de stabiele koppelsleutel is.
Functioneel OntwerpBeschrijf de gebruikersroute na provisioning: frontpage, profiel, verplicht niveau of onvolledig-accountflow.
Functioneel OntwerpBeschrijf dat inkomende relatie-uitnodigingen na provisioning via systeemberichten beschikbaar worden gemaakt.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, relatiebeheer, communicatieBeschrijft provisioning idempotent op Users.ExternalId met unieke constraint en transactionele verwerking.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, relatiebeheer, communicatieBeschrijft claimvalidatie, e-mailnormalisatie, conflictcontrole en rollbackgedrag vast.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, relatiebeheer, communicatieBeschrijft initialisatie van Users, UserSettings, optionele UserRoles, RelationshipInvitations.ToUserId, RelationshipEvents en SystemMessages technisch uit.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, relatiebeheer, communicatieBeschrijft dat credentials en identity-providerinterne status niet in OefenHub-domeintabellen worden opgeslagen.
Technisch Ontwerp: identiteit, authenticatie en rolcontext, relatiebeheer, communicatieBeschrijft account-provisioninglogging vast zonder gevoelige credentialdata.
Software Requirements SpecificationBevat requirements voor idempotente accountprovisioning, identity-providerafbakening, uitnodigingskoppeling en veilige foutafhandeling.
Database-informatieUsers, UserSettings, UserRoles, RelationshipInvitations, RelationshipEvents en SystemMessages moeten de beschreven provisioningflow ondersteunen.
ArchitectuurIdentity provider is externe bronhouder voor authenticatie; OefenHub is bronhouder voor applicatieprofiel, rollen, instellingen en domeinkoppelingen.

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-001-001SRS-AUTH-001
SRS-ACC-002
AC-AUTH-001
AC-ACC-002
Na een succesvolle identity-providerlogin server-side controleren of de externe gebruiker al aan een intern Users-record gekoppeld is
REQ-UC-GEN-ACC-001-002SRS-ACC-002
AC-ACC-002
Voor een onbekende ExternalId precies één intern actief Users-record kunnen aanmaken
REQ-UC-GEN-ACC-001-003SRS-ACC-002
SRS-NFR-SEC-001
SRS-NFR-PRV-001
SRS-ARCH-002
AC-ACC-002
AC-NFR-SEC-001
AC-NFR-PRV-001
AC-ARCH-002
Geen wachtwoorden, credentialstatus of identity-providerinterne sessiegegevens in het domeinaccount opslaan
REQ-UC-GEN-ACC-001-004SRS-ACC-001
SRS-ARCH-004
AC-ACC-001
AC-ARCH-004
Accountprovisioning idempotent uitvoeren zodat herhaalde callbacks of opnieuw inloggen niet tot dubbele accounts leiden
REQ-UC-GEN-ACC-001-005SRS-ACC-001
AC-ACC-001
Bij accountprovisioning een UserSettings-record initialiseren of garanderen dat dit record beschikbaar is vóór reguliere gebruikersflows instellingen gebruiken
REQ-UC-GEN-ACC-001-006SRS-ACC-001
SRS-NFR-AUD-001
AC-ACC-001
AC-NFR-AUD-001
Alleen toegestane actieve publieke rollen automatisch via publieke provisioning kunnen vastleggen
REQ-UC-GEN-ACC-001-007SRS-ACC-002
SRS-REL-001
AC-ACC-002
AC-REL-001
Pending relatie-uitnodigingen op genormaliseerd e-mailadres kunnen koppelen aan het nieuwe interne account zolang de uitnodiging geldig is
REQ-UC-GEN-ACC-001-008SRS-ACC-002
SRS-REL-001
SRS-MSG-001
AC-ACC-002
AC-REL-001
AC-MSG-001
Na het koppelen van een inkomende relatie-uitnodiging een systeembericht voor de nieuwe gebruiker kunnen aanmaken
REQ-UC-GEN-ACC-001-009SRS-ACC-001
SRS-REL-004
AC-ACC-001
AC-REL-004
Verlopen, afgehandelde of conflicterende relatie-uitnodigingen niet automatisch koppelen tijdens provisioning
REQ-UC-GEN-ACC-001-010SRS-AUTH-001
SRS-ACC-002
SRS-NFR-AUD-001
AC-AUTH-001
AC-ACC-002
AC-NFR-AUD-001
Conflicterende identity-data blokkeren en auditbaar loggen zonder half aangemaakte domeinrecords zichtbaar te maken
REQ-UC-GEN-ACC-001-011SRS-AUTH-001
SRS-ACC-001
SRS-ACC-003
AC-AUTH-001
AC-ACC-001
AC-ACC-003
Na succesvolle provisioning een passende vervolgroute bepalen op basis van rolcontext, profielvolledigheid en verplichte vervolgflows
REQ-UC-GEN-ACC-001-012SRS-ACC-001
AC-ACC-001
Een gedeactiveerd intern account niet stilzwijgend vervangen door een nieuw account bij een volgende login met dezelfde externe identiteit
REQ-UC-GEN-ACC-001-013SRS-AUTH-001
SRS-ACC-001
AC-AUTH-001
AC-ACC-001
Een geslaagde externe authenticatie blokkeren voor reguliere toegang wanneer interne accountprovisioning of initialisatie niet volledig en consistent kan worden afgerond
REQ-UC-GEN-ACC-001-014SRS-ACC-001
SRS-NFR-SEC-001
SRS-NFR-PRV-001
SRS-NFR-AUD-001
SRS-ARCH-002
AC-ACC-001
AC-NFR-SEC-001
AC-NFR-PRV-001
AC-NFR-AUD-001
AC-ARCH-002
Interne provisioningfouten auditbaar en technisch herleidbaar loggen zonder credentials, tokens of wachtwoorden vast te leggen

Aanvulling - externe relatie-uitnodigingen claimen

Tijdens provisioning claimt OefenHub pending externe relatie-uitnodigingen voor het geverifieerde e-mailadres van de gebruiker. Dit gebeurt pas nadat het e-mailadres betrouwbaar als geverifieerd beschikbaar is. Claimen maakt geen actieve relatie aan; de uitnodigingen blijven pending en worden in de eerste onboarding beoordeeld.