--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # AuthService Can authenticate a user based on email password combination ## Constructors ### constructor `**new AuthService**(«destructured»)` #### Parameters ## Properties `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__container__", "type": "`any`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__moduleDeclaration__", "type": "`Record`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "customerService_", "type": "[CustomerService](CustomerService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "userService_", "type": "[UserService](UserService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ## Accessors ### activeManager\_ `Protected get**activeManager_**(): EntityManager` #### Returns EntityManager ## Methods ### atomicPhase\_ `Protected **atomicPhase_**(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. #### Parameters Promise<TResult>", "description": "the transactional work to be done", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "isolationOrErrorHandler", "type": "`IsolationLevel` \\| (`error`: `TError`) => Promise<void \\| TResult>", "description": "the isolation level to be used for the work.", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "maybeErrorHandlerOrDontFail", "type": "(`error`: `TError`) => Promise<void \\| TResult>", "description": "Potential error handler", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<TResult> ___ ### authenticate `**authenticate**(email, password): Promise<[AuthenticateResult](../types/AuthenticateResult.mdx)>` Authenticates a given user based on an email, password combination. Uses scrypt to match password with hashed value. #### Parameters #### Returns Promise<[AuthenticateResult](../types/AuthenticateResult.mdx)> ___ ### authenticateAPIToken `**authenticateAPIToken**(token): Promise<[AuthenticateResult](../types/AuthenticateResult.mdx)>` Authenticates a given user with an API token #### Parameters #### Returns Promise<[AuthenticateResult](../types/AuthenticateResult.mdx)> ___ ### authenticateCustomer `**authenticateCustomer**(email, password): Promise<[AuthenticateResult](../types/AuthenticateResult.mdx)>` Authenticates a customer based on an email, password combination. Uses scrypt to match password with hashed value. #### Parameters #### Returns Promise<[AuthenticateResult](../types/AuthenticateResult.mdx)> ___ ### comparePassword\_ `Protected **comparePassword_**(password, hash): Promise<boolean>` Verifies if a password is valid given the provided password hash #### Parameters #### Returns Promise<boolean> ___ ### shouldRetryTransaction\_ `Protected **shouldRetryTransaction_**(err): boolean` #### Parameters ` \\| `{ code: string }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns `boolean` ___ ### withTransaction `**withTransaction**(transactionManager?): [AuthService](AuthService.mdx)` #### Parameters #### Returns [AuthService](AuthService.mdx)