Wt 4.7.1
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  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

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

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

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

Generated on Fri May 6 2022 for the C++ Web Toolkit (Wt) by doxygen 1.9.3