Auth module biedt authenticatie en autorisatie voor uw toepassing, inclusief gebruikersbeheer, groepsbeheer, gebruikersregistratie, aanmelding en verwante functies. Hij wordt automatisch geïnstalleerd wanneer het project wordt aangemaakt.
Standaard Admin User Login & Wachtwoord zijn als volgt:
- Logina [email protected]
- Password: appmaster
Module-instellingen kunnen op de volgende manier worden geconfigureerd:
- SignUp Groups: definieert de lijst van groepen waarin de gebruiker zich kan registreren;
- SignUp: stelt gebruikers in staat zich aan te melden en accounts te krijgen in de applicatie;
- Session timeout (minutes): bepaalt de tijd waarna de huidige gebruikerssessie eindigt als de gebruiker inactief is; standaard 60 min;
- Failed login delay (in ms): bepaalt de vertragingstijd voor antwoorden na mislukte aanmeldingspogingen; standaard 0ms;
- Email confirmation requiredbepaalt of de gebruiker de registratie via e-mail moet bevestigen;
- Signed-Up User Active: stel active=true in voor elk nieuw aangemaakt gebruikersobject indien ingeschakeld;
- Groups tabblad staat toe een lijst van gebruikersgroepen aan te maken en te configureren;
User en User Session modellen worden automatisch aangemaakt zodra de Auth-module is geïnstalleerd. U vindt ze in het Data Design tabblad. Het is niet mogelijk om de standaard attributen van deze modellen te configureren, maar het is wel mogelijk om nieuwe toe te voegen.
User, User Session en Auth Module gerelateerde BP's
Vooraf geïnstalleerde bedrijfsprocessen met betrekking tot User en User Session modellen zijn als volgt:
User Model
- DB: Delete User: verwijdert User object uit de database op basis van zijn ID;
- DB: Update Userreset alle velden van een gegeven modelobject in de database en werkt ze bij met de opgegeven waarden (DB: Patch User moet worden gebruikt om alleen de opgegeven velden te wijzigen en andere te behouden zoals ze zijn);
- DB: Create User: creëert een record in de database en stuurt het User model object terug (het vereist het gebruik van Make User blok te gebruiken om een User modelobject aan te maken volgens de ingevoerde velden);
- DB: Soft Delete Userupdate DeletedAt veld van het geselecteerde User modelobject in plaats van het hele record te verwijderen zoals DB: Delete User doet;
- DB: Bulk Delete User: verwijdert in bulk de reeks User model object records met de gegeven IDs (ids array); failed_ids - een array van gebruiker IDs die niet worden verwijderd;
- DB: Patch User: werkt geselecteerde velden van het User model object in de database (DB: Update User moet worden gebruikt om alle velden opnieuw in te stellen);
- DB: Search Uservindt één of meerdere User modelobjecten in de database op basis van hun velden en geeft ze terug;
- DB: GetOne Uservindt het User modelobject op basis van zijn ID en geeft het terug;
- Expand Userretourneert alle velden van het geselecteerde User modelobject;
- Make User: maakt het User modelobject op basis van invoervelden (het is verplicht om te gebruiken DB: Create User om het record in de database te maken);
User Session
- DB: Delete User Session: verwijdert User Session object uit de database op basis van zijn ID;
- DB: Update User Session: reset alle velden van een gegeven modelobject in de database, en werkt ze bij met opgegeven waarden (DB: Patch User Session moet alleen worden gebruikt om de opgegeven velden te wijzigen);
- DB: Create User Sessioncreëert een record in de database en retourneert het User Session model object (het vereist het gebruik van Make User Session blok te gebruiken om een User model object volgens de ingevoerde velden);
- DB: Soft Delete User Sessionupdate DeletedAt veld van het geselecteerde User Session modelobject;
- DB: Bulk Delete User Session: verwijdert in bulk de reeks User Session model object records met de gegeven IDs (ids array); failed_ids array definieert de set van IDs die worden genegeerd in het verwijderingsproces;
- DB: Patch User Session: werkt de geselecteerde velden van het User Session modelobject in de database (DB: Update User Session moet worden gebruikt om alle velden opnieuw in te stellen);
- DB: Search User Sessionvindt een of meer User Session modelobjecten in de database op basis van hun velden en geeft ze terug;
- DB: GetOne User Session: vindt het User Session modelobject op basis van zijn ID en geeft het terug;
- Expand User Sessionretourneert alle velden van het geselecteerde User Session modelobject;
- Make User Session: maakt het User Session modelobject op basis van invoervelden (het is verplicht om te gebruiken DB: Create User Session om het record in de database te maken);
Auth Module
- Auth: Generate Auth Token: genereert een autorisatietoken (Auth Token) van de opgegeven lengte;
- Auth: Registration: registreert een nieuwe gebruiker;
- Auth: Authorizationcontroleert of een gegeven Auth Token bestaat en geeft de daaraan gekoppelde gebruiker terug;
- Auth: Authentificationcontroleert de login en het wachtwoord van de gebruiker en retourneert Auth Token;
- Auth: Logout: beëindigt de sessie van de huidige gebruiker op basis van de Auth Token;
- Auth: Get current userretourneert het huidige User model object;
- Auth: Remove user from groupverwijdert een gebruiker uit de geselecteerde groep op basis van zijn ID;
- Auth: Add user to groupvoegt een gebruiker toe aan de geselecteerde groep op basis van zijn/haar ID;
- Auth: Hash Password: converteert wachtwoord string in hash;
- Auth: Restore Password: herstelt het wachtwoord op basis van de login van de gebruiker;
- Auth: Change PasswordWijzigt het wachtwoord van de gebruiker;
- Auth: Probe Password: controleert de associatie tussen wachtwoord en hash;
Auth Module, User en User Session endpoints
Vooraf geïnstalleerde Endpoints van de Auth Module en User en User Session modellen worden automatisch gegenereerd zodra het project is aangemaakt.
Auth Module
Type verzoek | Endpoint | Gekoppeld bedrijfsproces |
/logout/ | Auth: Logout | |
/auth/ | Auth: Authentification | |
/register/ | Auth: Registration | |
/confirm/ | Auth: Get Current User | |
/user/change-password/ | Auth: Change Password | |
/user/restore-password/ | Auth: Restore Password | |
/user/profile/ | Auth: Get Current User |
Gebruiker
Type verzoek | Endpoint | Bijbehorend bedrijfsproces |
/user/:id/ | DB: Update User | |
/user/:id/ | DB: Delete User | |
/user/:id/ | DB: GetOne User | |
/user/ | DB: Search User | |
/user/:id/ | DB: Patch User | |
/user/ | DB: Create User |
User Session
Type verzoek | Endpoint | Gekoppeld bedrijfsproces |
/user-session/:id/ | DB: Delete User Session | |
/user-session/:id/ | DB: GetOne User Session | |
/user-session/ | DB: Search User Session | |
/user-session/:id/ | DB: Patch User Session | |
/user-session/ | DB: Create User Session | |
/user-session/:id/ | DB: Update User Session |
Auth Token
Auth Token wordt gebruikt als sessie token van een geautoriseerde gebruiker. Het is mogelijk om met de Auth Token, in de web-applicatie bedrijfsprocessen:
- Get Auth Token retourneert de huidige gebruikerssessie Auth Token;
- Set Auth Token herschrijft de sessie van de huidige gebruiker Auth Token;
- Remove Auth Token verwijdert de sessie van de huidige gebruiker Auth Token;
Hoe krijg ik de huidige gebruiker
1. Ga naar het Business logic tabblad en sleep het Auth: Get current user blok.
2. Ga naar de Endpoints tabblad en vouw de User sectie uit. Maak vervolgens een GET type methode voor het in stap 1 gecreëerde bedrijfsproces. De URL endpoint zou zijn /user_current.
3. Ga naar het Web Apps en maak een nieuw bedrijfsproces aan met Server request GET /user_current om de huidige gebruiker uit het bedrijfsproces van de webapplicatie te halen.