AuthenticationMethod

AuthenticationMethod

An AuthenticationMethod represents the means by which a User is authenticated. There are two kinds: NativeAuthenticationMethod and ExternalAuthenticationMethod.

Signature

class AuthenticationMethod extends VendureEntity {
  @ManyToOne(type => User, user => user.authenticationMethods)
    user: User;
}

Extends

Members

user

property
type:
User

ExternalAuthenticationMethod

This method is used when an external authentication service is used to authenticate Vendure Users. Examples of external auth include social logins or corporate identity servers.

Signature

class ExternalAuthenticationMethod extends AuthenticationMethod {
  constructor(input: DeepPartial<ExternalAuthenticationMethod>)
  @Column()
    strategy: string;
  @Column()
    externalIdentifier: string;
  @Column('simple-json')
    metadata: any;
}

Extends

Members

constructor

method
type:
(input: DeepPartial<ExternalAuthenticationMethod>) => ExternalAuthenticationMethod

strategy

property
type:
string

externalIdentifier

property
type:
string

metadata

property
type:
any

NativeAuthenticationMethod

This is the default, built-in authentication method which uses a identifier (typically username or email address) and password combination to authenticate a User.

Signature

class NativeAuthenticationMethod extends AuthenticationMethod {
  constructor(input?: DeepPartial<NativeAuthenticationMethod>)
  @Column()
    identifier: string;
  @Column({ select: false }) passwordHash: string;
  @Column({ type: 'varchar', nullable: true })
    verificationToken: string | null;
  @Column({ type: 'varchar', nullable: true })
    passwordResetToken: string | null;
  @Column({ type: 'varchar', nullable: true })
    identifierChangeToken: string | null;
  @Column({ type: 'varchar', nullable: true })
    pendingIdentifier: string | null;
}

Extends

Members

constructor

method
type:
(input?: DeepPartial<NativeAuthenticationMethod>) => NativeAuthenticationMethod

identifier

property
type:
string

passwordHash

property
type:
string

verificationToken

property
type:
string | null

passwordResetToken

property
type:
string | null

identifierChangeToken

property
type:
string | null
A token issued when a User requests to change their identifier (typically an email address)

pendingIdentifier

property
type:
string | null
When a request has been made to change the User’s identifier, the new identifier will be stored here until it has been verified, after which it will replace the current value of the identifier field.