www/apps/resources/references/auth/IAuthModuleService/methods/auth.IAuthModuleService.verifyAuthMfaChallenge/page.mdx
import { TypeList } from "docs-ui"
This documentation provides a reference to the verifyAuthMfaChallenge method. This belongs to the Auth Module.
You should only use this methods when implementing complex customizations. For common cases, check out available workflows instead.
</Note>This method verifies a multi-factor authentication (MFA) challenge with one of the challenge's methods.
:::note
This is available starting from Medusa v2.15.3.
:::
const completedChallenge = await authModuleService.verifyAuthMfaChallenge({
id: "challenge_123",
method: "totp",
code: "123456"
})
<TypeList types={[{"name":"data","type":"VerifyAuthMfaChallengeDTO","description":"The verification data including challenge ID, method, and code.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"string","description":"The ID of the multi-factor authentication (MFA) challenge to verify.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"method","type":"AuthMfaChallengeMethod","description":"The method being used to complete the challenge.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"code","type":"string","description":"The verification code for the chosen method.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"Context","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type TManager, which is a typed parameter passed to the context to specify the type of the transactionManager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type TManager, which is a typed parameter passed to the context to specify the type of the manager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"string","description":"A string indicating the isolation level of the context. Possible values are READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, or SERIALIZABLE.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"boolean","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"string","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"string","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"runId","type":"string","description":"A string indicating the ID of the current run.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"IMessageAggregator","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"string","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"preventReleaseEvents","type":"boolean","description":"preventReleaseEvents","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isCancelling","type":"boolean","description":"A boolean value indicating whether the current workflow execution is being cancelled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"cancelingFromParentStep","type":"boolean","description":"Weither or not a sub workflow cancellation is being triggered from a parent step.\nIf true, the parent step will not be triggered by the sub workflow.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="verifyAuthMfaChallenge"/>
<TypeList types={[{"name":"Promise","type":"Promise<AuthMfaChallengeDTO>","optional":false,"defaultValue":"","description":"The completed multi-factor authentication (MFA) challenge.","expandable":false,"children":[{"name":"id","type":"string","description":"The multi-factor authentication (MFA) challenge's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"methods","type":"AuthMfaChallengeMethod[]","description":"Available methods for completing this challenge.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"expires_at","type":"Date","description":"When the challenge expires.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"attempts","type":"number","description":"Number of verification attempts made.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"max_attempts","type":"number","description":"Maximum verification attempts allowed.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"auth_identity_id","type":"string","description":"The ID of the authentication identity being challenged.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"auth_identity","type":"AuthIdentityDTO","description":"The authentication identity being challenged.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"string","description":"The ID of the auth identity.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"provider_identities","type":"ProviderIdentityDTO[]","description":"The list of provider identities linked to the auth identity.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"app_metadata","type":"Record<string, unknown>","description":"Holds information related to the actor IDs tied to the auth identity.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"actor_type","type":"string \| null","description":"The type of actor initiating the challenge.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"auth_provider","type":"string \| null","description":"The authentication provider handling the challenge.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"completed_at","type":"Date \| null","description":"When the challenge was completed.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"Record<string, unknown> \| null","description":"Additional metadata for the challenge.","optional":true,"defaultValue":"","expandable":false,"children":[]}],"since":"2.15.3"}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="verifyAuthMfaChallenge"/>