Wt: Wt::Auth Namespace Reference

Wt 4.10.4

Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations
Wt::Auth Namespace Reference

Namespace for the auth. More...

## Namespaces
namespace | Saml
| Namespace for the SAML SP implementation.

## Classes
class | AbstractPasswordService
| Abstract password authentication service. More...
class | AbstractUserDatabase
| Abstract interface for an authentication user database. More...
class | AuthModel
| Model for implementing an authentication view. More...
class | AuthService
| Basic authentication service. More...
class | AuthTokenResult
| The result of processing an authentication token. More...
class | AuthWidget
| An authentication widget. More...
class | BCryptHashFunction
| An cryptographic hash function that implements bcrypt. More...
class | EmailTokenResult
| The result of processing an email-sent token. More...
class | FacebookService
| OAuth service for Facebook as third-party authenticator. More...
class | FormBaseModel
| A base model class for authentication-related forms. More...
class | GoogleService
| OAuth service for Google as third-party authenticator. More...
class | HashFunction
| An abstract cryptographic hash function interface. More...
class | Identity
| A class that represents a user identity. More...
class | IssuedToken
| Token or authorization code that was issued to a relying party. More...
class | Login
| A class that manages the current login state. More...
class | LostPasswordWidget
| A widget which initiates a lost-password email. More...
class | MD5HashFunction
| A cryptograhpic hash function implemented using MD5. More...
class | OAuthAccessToken
| An OAuth access token. More...
class | OAuthAuthorizationEndpointProcess
| Allows clients to authorize users according to the OAuth 2.0 protocol. More...
class | OAuthClient
class | OAuthProcess
| An OAuth authorization (and authentication) process. More...
class | OAuthService
| An OAuth authorization (and authentication) service provider. More...
class | OAuthTokenEndpoint
| Endpoint to retrieve an access token. More...
class | OidcProcess
| An OpenId Connect authentication process. More...
class | OidcService
| An OpenId Connect authentication service provider. More...
class | OidcUserInfoEndpoint
| Endpoint at which user info can be requested. More...
class | PasswordHash
| A password hash. More...
class | PasswordPromptDialog
| A dialog that prompts for the user password. More...
class | PasswordService
| Password authentication service. More...
class | PasswordStrengthValidator
| A default implementation for password strength validation. More...
class | PasswordVerifier
| Password hash computation and verification class. More...
class | RegistrationModel
| Model for implementing a registration view. More...
class | RegistrationWidget
| A registration widget. More...
class | ResendEmailVerificationWidget
| A widget to resend the email verification email. More...
class | SHA1HashFunction
| A cryptographic hash function implemented using SHA1. More...
class | Token
| An authentication token hash. More...
class | UpdatePasswordWidget
| A widget which allows a user to choose a new password. More...
class | User
| A user. More...

## Enumerations
enum class | PasswordResult { PasswordInvalid , LoginThrottling , PasswordValid }
| Enumeration for a password verification result. More...
enum class | IdentityPolicy { LoginName , EmailAddress , Optional }
| Enumeration for an identity policy. More...
enum class | EmailTokenState { Invalid , Expired , UpdatePassword , EmailConfirmed }
| A token validation state. More...
enum class | AuthTokenState { Invalid , Valid }
| Enumeration that describes an auth token validation state. More...
enum class | LoginState { LoggedOut , Disabled , Weak , Strong }
| Enumeration for a login state. More...
enum | PasswordStrengthType { OneCharClass , TwoCharClass , PassPhrase , ThreeCharClass , FourCharClass }
| Enumeration for a password type. More...
enum class | EmailPolicy { Disabled , Optional , Mandatory }
| Enumeration for an email policy. More...
enum class | IdentityConfirmationMethod { ConfirmWithPassword , ConfirmWithEmail , ConfirmationNotPossible }
| Method for confirming to be an existing user. More...
enum class | AccountStatus { Disabled , Normal }
| Enumeration for a user's account status. More...
enum class | EmailTokenRole { VerifyEmail , LostPassword }
| Enumeration for an email token stored for the user. More...
enum | ClientSecretMethod { HttpAuthorizationBasic , PlainUrlParameter , RequestBodyParameter }
| Enumeration of the OAuth client authorization method. More...

## Detailed Description

Namespace for the auth.

## Enumeration Type Documentation

## ◆ AccountStatus

enum class Wt::Auth::AccountStatus
| strong

Enumeration for a user's account status.

See also
  status()

Enumerator
Disabled | Successfully identified but not allowed to log in.
Normal | Normal status.

## ◆ AuthTokenState

enum class Wt::Auth::AuthTokenState
| strong

Enumeration that describes an auth token validation state.

Enumerator
Invalid | The presented auth token could be used to identify a user.
Valid | The presented auth token was invalid.

## ◆ ClientSecretMethod

enum Wt::Auth::ClientSecretMethod

Enumeration of the OAuth client authorization method.

Specifies how the OAuth client authorizes itself with the auth provider. I.e. how it passes the client ID and secret to the provider.

See also
  OAuthService::clientSecretMethod
  OAuthClient::authMethod

Enumerator
HttpAuthorizationBasic | Pass the client ID and secret to the auth provider with a GET request with Basic auth.
PlainUrlParameter | Pass the client ID and secret to the auth provider as URL parameters of a GET request. This is not part of the standard but this is what Facebook does.
RequestBodyParameter | Pass the client ID and secret to the auth provider as parameters of a POST request.

## ◆ EmailPolicy

enum class Wt::Auth::EmailPolicy
| strong

Enumeration for an email policy.

Enumerator
Disabled | The email address is not asked for.
Optional | A user may optionally provide an email address.
Mandatory | A user must provide an email address.

## ◆ EmailTokenRole

enum class Wt::Auth::EmailTokenRole
| strong

Enumeration for an email token stored for the user.

Enumerator
VerifyEmail | Token is used to verify his email address.
LostPassword | Token is used to allow the user to enter a new password.

## ◆ EmailTokenState

enum class Wt::Auth::EmailTokenState
| strong

A token validation state.

Enumerator
Invalid | The token was invalid.
Expired | The token has expired.
UpdatePassword | A token was presented which requires the user to enter a new password. The presented token was a token sent by the AuthService::lostPassword() function. When this is returned as result of AuthService::processEmailToken(), you should present the user with a dialog where he can enter a new password.
EmailConfirmed | A The token was presented which verifies the email address. The presented token was a token sent by the AuthService::verifyEmailAddress() function. When this is returned as result of processEmailToken(), you can indicate to the user that his email address is now confirmed.

## ◆ IdentityConfirmationMethod

enum class Wt::Auth::IdentityConfirmationMethod
| strong

Method for confirming to be an existing user.

Enumerator
ConfirmWithPassword | Confirm using a password prompt.
ConfirmWithEmail | Confirm by using an email procedure.
ConfirmationNotPossible | Confirmation is not possible.

## ◆ IdentityPolicy

enum class Wt::Auth::IdentityPolicy
| strong

Enumeration for an identity policy.

This enumeration lists possible choices for the user identity (login name).

When using password authentication, it is clear that the user has to provide an identity to login. The only choice is whether you will use the user's email address or another login name.

When using a 3rd party authenticator, e.g. using OAuth, a login name is no longer needed, but you may still want to give the user the opportunity to choose one.

See also
  AuthService::setIdentityPolicy()

Enumerator
LoginName | A unique login name chosen by the user. Even if not really required for authentication, a user still chooses a unique user name. If possible, a third party autheticator may suggest a user name. This may be useful for sites which have a social aspect.
EmailAddress | The email address serves as the identity. This may be useful for sites which do not have any social character, but instead render a service to individual users. When the site has a social character, you will likely not want to display the email address of other users, but instead a user-chosen login name.
Optional | An identity is optional, and only asked if needed for authentication. Unless the authentication procedure requires a user name, no particular identity is asked for. In this case, the identity is a unique internal identifier. This may be useful for sites which do not have any social character, but instead render a service to individual users.

## ◆ LoginState

enum class Wt::Auth::LoginState
| strong

Enumeration for a login state.

See also
  Login::state()

Enumerator
LoggedOut | No user is currently identified.
Disabled | The identified user was refused to login. This is caused by for example User::status() returning AccountStatus::Disabled, or if email verification is required but the email hasn't been verified yet.
Weak | A user is weakly authenticated. The authentication method was weak, typically this means that a secondary authentication system was used (e.g. an authentication cookie) instead of a primary mechanism (like a password). You may want to allow certain operations, but request to authenticate fully before more sensitive operations.
Strong | A user is strongly authenticated.

## ◆ PasswordResult

enum class Wt::Auth::PasswordResult
| strong

Enumeration for a password verification result.

See also
  AbstractPasswordService::verifyPassword()

Enumerator
PasswordInvalid | The password is invalid.
LoginThrottling | The attempt was not processed because of throttling.
PasswordValid | The password is valid.

## ◆ PasswordStrengthType

enum Wt::Auth::PasswordStrengthType

Enumeration for a password type.

An entered password will be classified as one of these types, based on the different characters used.

The classification uses the concept of character classes, and defines five classes:

- lower case letters
- upper case letters
- numbers
- other ascii characters
- unknowns (i.e. multi-byte UTF-8 sequences)

For determining the number of classes, capitializaiton of the first letter of a word, or appending a number, does not count as an extra class.

Enumerator
OneCharClass | A password with characters of only one class. The default minimum length required for this password type is 20 characters. Note the default of passwdqc is Disabled
TwoCharClass | A password with characters of two classes. The default minimum length required for this password type is 15 characters. Note the default of passwdqc is 24 characters
PassPhrase | A password that consists of multiple words. The default minimum length required for this password type is 11 characters. See also setMinimumPassPhraseWords() Note the default of passwdqc is also 11 characters
ThreeCharClass | A password with characters of three classes. The default minimum length required for this password type is 8 characters. Note the default of passwdqc is also 8 characters
FourCharClass | A password with characters of four classes. The default minimum length required for this password type is 7 characters. Note the default of passwdqc is also 7 characters