Skip to main content

Class: AuthService

Can authenticate a user based on email password combination

Hierarchy

  • TransactionBaseService

    AuthService

Constructors

constructor

new AuthService(__namedParameters)

Parameters

NameType
__namedParametersInjectedDependencies

Overrides

TransactionBaseService.constructor

Defined in

packages/medusa/src/services/auth.ts:24

Properties

__configModule__

Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from

TransactionBaseService.__configModule__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:10


__container__

Protected Readonly __container__: any

Inherited from

TransactionBaseService.__container__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:9


__moduleDeclaration__

Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from

TransactionBaseService.__moduleDeclaration__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:11


customerService_

Protected Readonly customerService_: CustomerService

Defined in

packages/medusa/src/services/auth.ts:22


manager_

Protected manager_: EntityManager

Overrides

TransactionBaseService.manager_

Defined in

packages/medusa/src/services/auth.ts:19


transactionManager_

Protected transactionManager_: undefined | EntityManager

Overrides

TransactionBaseService.transactionManager_

Defined in

packages/medusa/src/services/auth.ts:20


userService_

Protected Readonly userService_: UserService

Defined in

packages/medusa/src/services/auth.ts:21

Methods

atomicPhase_

Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>

Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.

Type parameters

Name
TResult
TError

Parameters

NameTypeDescription
work(transactionManager: EntityManager) => Promise<TResult>the transactional work to be done
isolationOrErrorHandler?IsolationLevel | (error: TError) => Promise<void | TResult>the isolation level to be used for the work.
maybeErrorHandlerOrDontFail?(error: TError) => Promise<void | TResult>Potential error handler

Returns

Promise<TResult>

the result of the transactional work

Inherited from

TransactionBaseService.atomicPhase_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:50


authenticate

authenticate(email, password): Promise<AuthenticateResult>

Authenticates a given user based on an email, password combination. Uses scrypt to match password with hashed value.

Parameters

NameTypeDescription
emailstringthe email of the user
passwordstringthe password of the user

Returns

Promise<AuthenticateResult>

success: whether authentication succeeded user: the user document if authentication succeded error: a string with the error message

Defined in

packages/medusa/src/services/auth.ts:97


authenticateAPIToken

authenticateAPIToken(token): Promise<AuthenticateResult>

Authenticates a given user with an API token

Parameters

NameTypeDescription
tokenstringthe api_token of the user to authenticate

Returns

Promise<AuthenticateResult>

success: whether authentication succeeded user: the user document if authentication succeded error: a string with the error message

Defined in

packages/medusa/src/services/auth.ts:54


authenticateCustomer

authenticateCustomer(email, password): Promise<AuthenticateResult>

Authenticates a customer based on an email, password combination. Uses scrypt to match password with hashed value.

Parameters

NameTypeDescription
emailstringthe email of the user
passwordstringthe password of the user

Returns

Promise<AuthenticateResult>

success: whether authentication succeeded user: the user document if authentication succeded error: a string with the error message

Defined in

packages/medusa/src/services/auth.ts:146


comparePassword_

Protected comparePassword_(password, hash): Promise<boolean>

Verifies if a password is valid given the provided password hash

Parameters

NameTypeDescription
passwordstringthe raw password to check
hashstringthe hash to compare against

Returns

Promise<boolean>

the result of the comparison

Defined in

packages/medusa/src/services/auth.ts:38


shouldRetryTransaction_

Protected shouldRetryTransaction_(err): boolean

Parameters

NameType
errRecord<string, unknown> | { code: string }

Returns

boolean

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:31


withTransaction

withTransaction(transactionManager?): AuthService

Parameters

NameType
transactionManager?EntityManager

Returns

AuthService

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:14