{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"redocly_category":"Journeys","product":"Identity Management","type":"markdown"},"seo":{"title":"Register Member Authenticators","description":"Everything about Mosaic Journeys, SDKs, and APIs","siteUrl":"https://developer.transmitsecurity.com/"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"register-member-authenticators","__idx":0},"children":["Register Member Authenticators"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge-wrapper"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge","style":{"backgroundColor":"grey"}},"children":["Only for B2B identity"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge"},"children":["SSO"]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Registers the authenticators a member needs according to the application's registration settings, and associates the member with their organization"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"description","__idx":1},"children":["Description"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This step registers the authentication methods a member needs, based on the registration settings defined for the application. It evaluates what the member has already registered and asks only for what's missing, so it can be placed in any flow without checking the member's state beforehand."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this step after ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/authenticate_member"},"children":["Authenticate Member"]},", typically in a member invite flow or a login flow that has to bring members up to date with the application's registration requirements."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"SSO journeys only"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This step runs in SSO journeys, on Mosaic-hosted experiences using Mosaic branding and styling management. It isn't available in SDK-driven journeys."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When triggered, the step:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Receives the organization email as an input."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Loads the registration settings that apply—which authentication methods the application marks as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]}," and which as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Optional"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ensures the member exists under the application."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Evaluates which of those methods the member has already registered, and skips them."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Registers the outstanding required methods, then offers the outstanding optional ones."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Associates the member with the organization."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"required-and-optional-methods","__idx":2},"children":["Required and optional methods"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Registration settings are defined per method in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["B2B"]}," tab of the application, where each method is marked ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Optional"]},", or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hidden"]}," for registration. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/b2b/b2b_configure_b2b"},"children":["Configure B2B application settings"]},". Methods marked hidden aren't offered."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Members complete every required method before any optional method is offered. Required methods are presented one at a time, and the member can't continue past one until it's registered. Optional methods follow, and each can be skipped and left for later."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the member already satisfies the registration settings, the step completes without presenting anything."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"federated-organizations","__idx":3},"children":["Federated organizations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Members of federated organizations aren't asked to register anything—credentials are managed by the organization's Identity Provider. The step completes immediately."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"organization-selection","__idx":4},"children":["Organization selection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Organization selection doesn't occur during or after registration. It applies only after authentication, where an existing member may be associated with more than one organization. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/authenticate_member"},"children":["Authenticate Member"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"output-and-branches","__idx":5},"children":["Output and branches"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The step registers the completed authenticators to the member's record. The methods the member registered are part of the step's outcome, so a later step in the journey can act on them."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The step succeeds once every required method is registered, and fails where a required method isn't completed within the permitted retries. Failure of an optional method doesn't fail the step—the step continues and completes as a success. Failures are reported using the platform conventions for registration errors—see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/getting-started/error_handling_overview"},"children":["Journey errors"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration","__idx":6},"children":["Configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"table"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Organization (Email)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The email associated with the organization being targeted. Collect it before this step—for example, using the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/get_info_from_client"},"children":["Collect Information"]}," step—and pass it to the step directly. It isn't taken from the journey context."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Error Output Variable"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Name of the variable that stores any errors returned by the step"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Failure Behavior"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Determines the behavior in case of failure, which either aborts the journey or proceeds to a failure branch of the control flow (default)."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Journey event data"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This step can be configured to record step input and output data, or a custom payload, which is then surfaced in journey events in Journey Analytics for diagnostic purposes. For details, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/getting-started/event_reporting"},"children":["Additional data reporting"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example","__idx":7},"children":["Example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Consider a member invite flow. An organization admin adds a member, who receives an invitation and follows the link into the journey. The journey authenticates them with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/authenticate_member"},"children":["Authenticate Member"]},", then invokes ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register Member Authenticators"]}," with the same organization email."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Suppose the application marks password as required for registration, passkey as required, and TOTP as optional. A member who has already registered a password is asked only for the passkey, and is then offered TOTP with the option to skip it. Once the passkey is registered, the step succeeds—whether or not the member registered TOTP."]}]},"headings":[{"value":"Register Member Authenticators","id":"register-member-authenticators","depth":1},{"value":"Description","id":"description","depth":2},{"value":"Required and optional methods","id":"required-and-optional-methods","depth":3},{"value":"Federated organizations","id":"federated-organizations","depth":3},{"value":"Organization selection","id":"organization-selection","depth":3},{"value":"Output and branches","id":"output-and-branches","depth":3},{"value":"Configuration","id":"configuration","depth":2},{"value":"Example","id":"example","depth":2}],"frontmatter":{"markdown":{"toc":{"depth":2}},"seo":{"title":"Register Member Authenticators"}},"lastModified":"2026-09-23T07:35:22.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/orchestration/journeys/register_member_authenticators","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}