Back to Medusa

createAuthMfaChallenge - Auth Module Reference

www/apps/resources/references/auth/IAuthModuleService/methods/auth.IAuthModuleService.createAuthMfaChallenge/page.mdx

2.15.58.3 KB
Original Source

import { TypeList } from "docs-ui"

createAuthMfaChallenge - Auth Module Reference

This documentation provides a reference to the createAuthMfaChallenge method. This belongs to the Auth Module.

<Note>

You should only use this methods when implementing complex customizations. For common cases, check out available workflows instead.

</Note>

This method creates a multi-factor authentication (MFA) challenge for an auth identity with enabled multi-factor authentication (MFA) methods.

:::note

This is available starting from Medusa v2.15.3.

:::

Example

ts
const challenge = await authModuleService.createAuthMfaChallenge({
  auth_identity_id: "authusr_123",
  actor_type: "user"
})

Parameters

<TypeList types={[{"name":"data","type":"CreateAuthMfaChallengeDTO","description":"The data required to create a multi-factor authentication (MFA) challenge.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"auth_identity_id","type":"string","description":"The ID of the authentication identity to challenge.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"actor_type","type":"string \| null","description":"The type of actor requesting 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":"metadata","type":"Record<string, unknown> \| null","description":"Additional metadata for the challenge.","optional":true,"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="createAuthMfaChallenge"/>

Returns

<TypeList types={[{"name":"Promise","type":"Promise<AuthMfaChallengeDTO>","optional":false,"defaultValue":"","description":"The created 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="createAuthMfaChallenge"/>