--- 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<`string`, `unknown`\\>", "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_**<`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. #### 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`\> ", "optional": false, "defaultValue": "", "description": "the result of the transactional work", "expandable": false, "children": [] } ]} /> ___ ### 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)\> ", "optional": false, "defaultValue": "", "description": "success: whether authentication succeeded\n user: the user document if authentication succeeded\n error: a string with the error message", "expandable": false, "children": [] } ]} /> ___ ### authenticateAPIToken **authenticateAPIToken**(`token`): `Promise`<[`AuthenticateResult`](../types/AuthenticateResult.mdx)\> Authenticates a given user with an API token #### Parameters #### Returns `Promise`<[`AuthenticateResult`](../types/AuthenticateResult.mdx)\> ", "optional": false, "defaultValue": "", "description": "success: whether authentication succeeded\n user: the user document if authentication succeeded\n error: a string with the error message", "expandable": false, "children": [] } ]} /> ___ ### 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)\> ", "optional": false, "defaultValue": "", "description": "success: whether authentication succeeded\n customer: the customer document if authentication succeded\n error: a string with the error message", "expandable": false, "children": [] } ]} /> ___ ### comparePassword\_ `Protected` **comparePassword_**(`password`, `hash`): `Promise`<`boolean`\> Verifies if a password is valid given the provided password hash #### Parameters #### Returns `Promise`<`boolean`\> ", "optional": false, "defaultValue": "", "description": "the result of the comparison", "expandable": false, "children": [] } ]} /> ___ ### 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)