A module that implements authentication functions.
More...
A module that implements authentication functions.
This module implements a complete modular authentication system for Wt applications.
The module is organized in model classes, which implement authentication logic, and view classes which are widgets that implement UI components.
Model
The model layer is organized in a number of service classes, which provide the configuration and authentication services, and are generally shared between different sessions, and session classes which implement the authentication state for each session.
The service classes are:
- AuthService: implements generic authentication services
- PasswordService: implements password-based authentication
- OAuthService: implements federated login using OAuth 2 (and later OpenIDConnect), and has a number of indentity provider implementations
There are a number of utility classes too:
- User: a user value class
- Token: an authentication token
- PasswordHash: a hashed password
- PasswordStrengthValidator: validates the strength of a password
- PasswordVerifier: verifies a password (against a hash stored in the database)
The session classes are:
- AbstractUserDatabase: abstract interface for storage needed for authentication
- Login: keeps track of the user currently logged in
- OAuthProcess: implements an OAuth 2 authorization (and authentication) process
- RegistrationModel: implements the registration logic
Views
The view classes typically use service classes and session classes.
The included views are:
- AuthWidget: a (traditional) login/logout widget
- LostPasswordWidget: a widget that implements a "lost password" form
- PasswordPromptDialog: a dialog to prompt for a password
- RegistrationWidget: a widget to register a new user
- UpdatePasswordWidget: a widget to update a password