Objecten > Auth


Het Auth-object zorgt voor de mogelijkheid om simpel en snel een betrouwbare inlogmodule te bouwen. Het object kan standaard omgaan met een combinatie van e-mailadres en wachtwoord en e-mailadres en pincode.

Het auth-object kan standaard alleen het e-mailadres en wachtwoord van een gebruiker herkennen en gebruiken voor een valide login. Wanneer er echter gebruik gemaakt wordt van een mobiel apparaat kan er ook gebruik gemaakt worden van een pincode in combinatie met het wachtwoord. Hiervoor dienen echter wel een aantal extra handelingen te worden uitgevoerd, die te vinden zijn onder Voorbeelden > Autorisatie.

Standaard bevat het auth-object de volgende onderdelen:

  • Logging (laatste inlogmoment)
  • Password-reset op basis van e-mail
  • Keuzemogelijkheid als er meerdere contacten worden gevonden in de database
  • Hashing (na de eerste plaintext-login wordt het password gehashed in de database)

auth.login(string username, string password)
Log een gebruiker in op basis van username en password (of password-hash).

auth.valid(bool allowRedirect)
Geeft een bool (true/false) terug aan de hand van of er een geldige ingelogde sessie is.

Het gebruik van deze functie kan ongewenste resultaten hebben, gezien deze functie tevens Cleanup (garbage collection) en Redirects voor zijn rekening neemt. Hierdoor kunnen functionaliteiten als contact-login e.d. verloren gaan wanneer deze functie handmatig of op meerdere plekken binnen 1 pagina wordt aangeroepen. Voor het bepalen of er een geldige ingelogde sessie is, gebruik je auth.isLoggedIn.

auth.isLoggedIn() - alias: auth.loggedIn
Geeft een bool (true/false) terug aan de hand van of er een geldige, ingelogde sessie is. Indien het kiezen van een contact nodig is, geeft deze pas true terug als er ook een contact is gekozen.

auth.logout()
Logt de gebruiker uit.

auth.getLoginLink(bool returnToCurrentUrl)
Verkrijg de inloglink (naar het inlogvenster) wanneer niet is ingelogd. Na de login keer je terug naar waar je vandaan kwam, tenzij false als parameter wordt meegegeven.

auth.getContacts([bool getSafe = false])
Verkrijg alle contacten welke o.b.v. de username een optie waren om bij in te loggen. Als een true wordt meegegeven, worden de contacten enkel teruggegeven als de sessie verser is dan 5 minuten.

auth.setContact(int ContactID)
Geef het contact op waar de sessie op ingelogd moet zijn.

auth.setPassword(string password, string personId)
Stel een nieuw wachtwoord bij de gebruiker in.

auth.resetPassword(string username)
Reset het wachtwoord van een gebruiker (username) en verstuur een e-mail met het nieuwe wachtwoord.

auth.twoFactorLinked()
Geeft true terug indien de ingelogde gebruiker een gekoppeld 2Factor-account heeft. Indien de 2Factor-mogelijkheid aan staat, en deze methode false teruggeeft, zou je de gebruiker kunnen aanbieden om een 2Factor-device te koppelen.