Wt  4.11.1
Public Member Functions | Static Public Attributes | List of all members
Wt::Auth::Identity Class Reference

A class that represents a user identity. More...

Public Member Functions

 Identity ()
 Default constructor. More...
 
 Identity (const std::string &provider, const std::string &id, const WString &name, const std::string &email, bool emailVerified)
 Constructor.
 
bool isValid () const
 Returns whether the identity is valid. More...
 
const std::string & provider () const
 Returns the provider name. More...
 
const std::string & id () const
 Returns the id. More...
 
const WStringname () const
 Returns the name. More...
 
const std::string & email () const
 Returns an email address. More...
 
bool emailVerified () const
 Returns whether the email address has been verified. More...
 

Static Public Attributes

static const Identity Invalid
 An invalid identity constant. More...
 
static const std::string LoginName = "loginname"
 The login name identity. More...
 
static const std::string MultiFactor = "multifactor"
 The default multi-factor identity. More...
 

Detailed Description

A class that represents a user identity.

The identity is the result of an authentication process. Although the most common authentication method (password authentication) only returns a user name, other methods (such as OAuth, client SSL certificates, or an authentication reverse proxy server) may return more information.

At the very least, the user is identified using a unique ID, and it optionally also contains name and email address information.

See also
OAuthService::getIdentity(), RegistrationWidget::registerIdentified()

Constructor & Destructor Documentation

◆ Identity()

Wt::Auth::Identity::Identity ( )

Default constructor.

Creates an invalid identity.

Member Function Documentation

◆ email()

const std::string& Wt::Auth::Identity::email ( ) const

Returns an email address.

Returns the user's email address, or an empty string if not provided.

See also
emailVerified()

◆ emailVerified()

bool Wt::Auth::Identity::emailVerified ( ) const

Returns whether the email address has been verified.

The third party provider may be able to guarantee that the user indeed also control's the given email address (e.g. because the third party hosts that email account for the user).

See also
email()

◆ id()

const std::string& Wt::Auth::Identity::id ( ) const

Returns the id.

Returns a unique identifier for the user within the scope of this provider.

◆ isValid()

bool Wt::Auth::Identity::isValid ( ) const

Returns whether the identity is valid.

An invalid identity is used to indicate for example that no identity information could be obtained.

◆ name()

const WString& Wt::Auth::Identity::name ( ) const

Returns the name.

Returns the user's name, or an empty string if not provided.

◆ provider()

const std::string& Wt::Auth::Identity::provider ( ) const

Returns the provider name.

This is a unique id that names the source for this identity (e.g. "google-oauth", or "LDAP", or "user" (for a user-chosen identity).

Member Data Documentation

◆ Invalid

const Identity Wt::Auth::Identity::Invalid
static

An invalid identity constant.

This is an identity that is not isValid().

◆ LoginName

const std::string Wt::Auth::Identity::LoginName = "loginname"
static

The login name identity.

This is a provider name for the (usually user-controlled) identity, used for example for password-based authentication.

◆ MultiFactor

const std::string Wt::Auth::Identity::MultiFactor = "multifactor"
static

The default multi-factor identity.

This is the name used for the default implementation of Wt for MFA. While the actual implementation of any additional factor can be changed, the default implementation (using TOTP), will use this identity name.

It will dictate what the identity entry in the database will be called. Which stores the TOTP secret key in the database.

Note
This entry is not encrypted or obfuscated in any way.