{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"redocly_category":"Guides","product":"Identity Management","type":"markdown"},"seo":{"title":"Configure app & client for B2B","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":"configure-app--client-for-b2b","__idx":0},"children":["Configure app & client for B2B"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This page is the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["detail"]}," for ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/b2b/b2b_setup-overview#step-1-configure-app--client"},"children":["Setup overview — Step 1: Configure app & client"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create the Mosaic application that serves your business customers, add a client for it, and choose how much of the sign-in flow Mosaic orchestrates."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"choose-the-login-experience","__idx":1},"children":["Choose the login experience"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Choose how members sign in before configuring the client. The client's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Login Experience"]}," setting decides who drives the sign-in flow: a journey or your customer-facing application."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"journey-orchestrated","__idx":2},"children":["Journey-orchestrated"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A journey drives the flow. The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Login screens"]}," setting on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["SSO client group"]}," determines who renders the screens and which B2B capabilities are available:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hosted by Transmit Security"]}," — journey steps resolve the member's organization, apply the organization authentication configuration, handle members who belong to more than one organization, and register the authenticators the application requires."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The journey reads the application's authentication configuration at sign-in and applies the configured methods (you'll define these later in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/b2b/b2b_configure_b2b#3-configure-b2b-authentication-settings"},"children":["Configure B2B settings"]},"; for now, choose the login experience). This automatic handling is available only with Mosaic-hosted screens."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Self managed (Custom UI)"]}," — your application provides the login UI, and a journey controls the sign-in flow. You implement the logic to identify the member's organization and apply its authentication configuration. Follow ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/sso_orchestration/sso_quickstart_selfhosted_ui"},"children":["Build your SSO page"]}," to connect your UI to the journey with the Orchestration SDK."]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"id":"what-this-decides-about-the-members-organization"},"children":[]}," ",{"$$mdtype":"Tag","name":"a","attributes":{"id":"identify-the-members-organization"},"children":[]}," ",{"$$mdtype":"Tag","name":"a","attributes":{"id":"organization-identification-during-sign-in"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"application-controlled","__idx":3},"children":["Application-controlled"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your application controls the sign-in flow and provides the login UI. It calls Mosaic's APIs to authenticate the member and obtain tokens."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before calling Mosaic, your application identifies which organization the member is signing in to. You implement the authentication logic required by each organization."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["First, complete the setup in this chapter through ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/b2b/b2b_set_members"},"children":["Set members"]},". Then follow ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/b2b/b2b_login_with_apis"},"children":["Implement B2B login with APIs"]}," to implement the sign-in flow, including organization identification."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-create-the-application","__idx":4},"children":["Step 1: Create the application"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Admin Portal"]},", go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Applications"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["+ Add application"]},". For the full set of application settings, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/create_new_application"},"children":["Create Mosaic applications"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An application can serve B2B alone: you don't need an existing B2C setup to use it for organizations and members."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"id":"step-2-create-the-client"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-create-and-configure-the-client","__idx":5},"children":["Step 2: Create and configure the client"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Admin Portal"]},", go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Applications"]}," > your app > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Clients"]}," tab and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["+ Add client"]},". This opens the client creation wizard."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the wizard's third step, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Login Experience"]},", configure the model you chose:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Journey-orchestrated"]}," — select an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["SSO client group"]}," and the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Journey"]}," to run. On the SSO client group, set ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Login screens"]}," to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Hosted by Transmit Security"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Self managed (Custom UI)"]},". For custom screens, provide your own ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Login page URL"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application-controlled"]}," — select this option to have your customer-facing application drive the sequence and provide the screens."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the full set of client settings, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/manage_clients"},"children":["Manage clients"]},"."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Creating a client from the B2B settings tab"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["B2B settings"]}," tab lets you create a client without leaving it, from ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["+ Add client"]}," at the bottom of the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client for inviting members"]}," list. It's the same client and the same settings — see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/b2b/b2b_configure_b2b#1-configure-the-invite-flow"},"children":["Configure the invite flow"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"continue-with-b2b-settings","__idx":6},"children":["Continue with B2B settings"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The rest of the B2B setup is the same whichever model you chose: the invite flow, the Org admin portal, roles, organizations, and members all apply."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After configuring the client, continue with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/b2b/b2b_configure_b2b"},"children":["Configure B2B settings"]},". If you follow one of the linked integration guides, return to the B2B setup flow afterwards."]},{"$$mdtype":"Tag","name":"style","attributes":{},"children":["\n    [data-component-name=\"Markdown/Markdown\"] blockquote {\n        border-left: 4px solid #BBC5FF !important;\n        border-radius: 2px;\n        background-color: #F1F2FF !important;\n        padding: 20px 10px 15px 10px;\n        margin: 10px 1px;\n    }\n"]}]},"headings":[{"value":"Configure app & client for B2B","id":"configure-app--client-for-b2b","depth":1},{"value":"Choose the login experience","id":"choose-the-login-experience","depth":2},{"value":"Journey-orchestrated","id":"journey-orchestrated","depth":3},{"value":"Application-controlled","id":"application-controlled","depth":3},{"value":"Step 1: Create the application","id":"step-1-create-the-application","depth":2},{"value":"Step 2: Create and configure the client","id":"step-2-create-and-configure-the-client","depth":2},{"value":"Continue with B2B settings","id":"continue-with-b2b-settings","depth":2}],"frontmatter":{"markdown":{"toc":{"depth":2}},"navigation":{"previousButton":{"text":"Previous:","hide":false,"label":"Setup overview","link":"/guides/user/b2b/b2b_setup-overview"},"nextButton":{"text":"Next:","hide":false,"label":"Configure B2B settings","link":"/guides/user/b2b/b2b_configure_b2b"}},"seo":{"title":"Configure app & client for B2B"}},"lastModified":"2026-10-21T10:11:50.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/user/b2b/b2b_configure_app_client","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}