{"id":4753,"date":"2026-09-21T03:46:13","date_gmt":"2026-09-21T03:46:13","guid":{"rendered":"https:\/\/www.mobiqode.com\/blog\/?p=4753"},"modified":"2026-09-21T03:52:11","modified_gmt":"2026-09-21T03:52:11","slug":"setting-up-sso-on-mobiqode-step-by-step-guide","status":"publish","type":"post","link":"https:\/\/www.mobiqode.com\/blog\/setting-up-sso-on-mobiqode-step-by-step-guide\/","title":{"rendered":"How to Set Up SSO for mobiQode: Google Workspace, Microsoft Entra ID &#038; Okta"},"content":{"rendered":"\n<style>\n  .mq-blog-wrap {\n    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;\n    color: #2d3748; line-height: 1.8; max-width: 780px; margin: 0 auto;\n  }\n  .mq-blog-wrap p { font-size: 17px; margin-bottom: 1.4em; color: #3a4553; }\n  .mq-blog-wrap h2 {\n    font-size: 28px; font-weight: 700; color: #1a2b4a;\n    margin-top: 2.5em; margin-bottom: 0.8em; padding-bottom: 10px;\n    border-bottom: 3px solid #00b4d8; display: inline-block;\n  }\n  .mq-blog-wrap h3 { font-size: 21px; font-weight: 600; color: #1a2b4a; margin-top: 1.8em; margin-bottom: 0.6em; }\n  .mq-blog-wrap h4 { font-size: 18px; font-weight: 600; color: #1a2b4a; margin-top: 1.2em; margin-bottom: 0.5em; }\n\n  .mq-inline-url {\n    font-family: 'Courier New', monospace; background: #f0f7fa; padding: 2px 8px;\n    border-radius: 4px; font-size: 15px; color: #1a2b4a; font-weight: 600;\n  }\n\n  .mq-table {\n    width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 12px;\n    overflow: hidden; margin: 24px 0 32px; box-shadow: 0 2px 16px rgba(0,0,0,0.06);\n  }\n  .mq-table th { background: #1a2b4a; color: #fff; font-weight: 600; font-size: 15px; padding: 14px 20px; text-align: left; letter-spacing: 0.3px; }\n  .mq-table td { padding: 14px 20px; font-size: 15px; border-bottom: 1px solid #eef1f5; }\n  .mq-table tr:last-child td { border-bottom: none; }\n  .mq-table tr:nth-child(even) { background: #f8fafc; }\n  .mq-table .mq-row-highlight { background: #eafaf1 !important; }\n  .mq-table .mq-row-highlight td { color: #1e8449; font-weight: 600; }\n\n  .mq-provider-section { margin: 28px 0; border: 1px solid #e8ecf1; border-radius: 12px; overflow: hidden; }\n  .mq-provider-header {\n    background: #f0f7fa; padding: 16px 24px; font-size: 19px; font-weight: 700;\n    color: #1a2b4a; border-bottom: 1px solid #e8ecf1; display: flex; align-items: center; gap: 10px;\n  }\n  .mq-provider-body { padding: 24px 28px; }\n\n  .mq-tip {\n    background: linear-gradient(135deg, #fffbeb, #fef3c7); border: 1px solid #f6d97a;\n    border-left: 4px solid #f6b93b; border-radius: 8px; padding: 16px 20px; margin: 20px 0;\n    font-size: 15px; color: #7c6c2a;\n  }\n  .mq-tip strong { color: #92400e; }\n\n  .mq-info-box {\n    background: linear-gradient(135deg, #f0f7fa, #e8f4f8); border: 1px solid #b8dce8;\n    border-left: 4px solid #00b4d8; border-radius: 8px; padding: 20px 24px; margin: 20px 0 28px;\n    font-size: 15px; color: #1a4a5e; line-height: 1.7;\n  }\n  .mq-info-box strong { color: #0e7490; }\n\n  .mq-warn {\n    background: linear-gradient(135deg, #fdf2f2, #fce8e8); border: 1px solid #f0b8b8;\n    border-left: 4px solid #c0392b; border-radius: 8px; padding: 20px 24px; margin: 28px 0;\n    font-size: 15.5px; color: #7d3a35; line-height: 1.7;\n  }\n  .mq-warn strong { color: #a5281b; }\n\n  .mq-step-badge {\n    display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px;\n    background: #00b4d8; color: #fff; border-radius: 50%; font-weight: 700; font-size: 15px;\n    margin-right: 10px; flex-shrink: 0;\n  }\n\n  .mq-checklist { background: #f8fafc; border-radius: 12px; padding: 24px 28px; margin: 20px 0; border: 1px solid #e8ecf1; }\n  .mq-checklist ul { margin: 0; padding-left: 0; list-style: none; }\n  .mq-checklist li { padding: 6px 0 6px 28px; position: relative; font-size: 15.5px; color: #334155; }\n  .mq-checklist li::before { content: \"\u2713\"; position: absolute; left: 0; color: #1e8449; font-weight: 700; }\n\n  .mq-faq {\n    background: #f8fafc; border-radius: 12px; padding: 28px 32px; margin: 16px 0;\n    border: 1px solid #e8ecf1; transition: box-shadow 0.2s;\n  }\n  .mq-faq:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.06); }\n  .mq-faq-q {\n    font-weight: 700; color: #1a2b4a; font-size: 17px; margin-bottom: 8px;\n    display: flex; align-items: flex-start; gap: 10px;\n  }\n  .mq-faq-q::before {\n    content: \"Q\"; display: inline-flex; align-items: center; justify-content: center;\n    min-width: 28px; height: 28px; background: #00b4d8; color: #fff; border-radius: 6px;\n    font-size: 13px; font-weight: 700; margin-top: 1px;\n  }\n  .mq-faq-a { color: #4a5568; font-size: 16px; padding-left: 38px; line-height: 1.7; }\n\n  .mq-cta {\n    background: linear-gradient(135deg, #1a2b4a, #243b5e); border-radius: 12px;\n    padding: 36px 40px; text-align: center; margin: 40px 0 20px;\n  }\n  .mq-cta p { color: #cbd5e0 !important; font-size: 17px; margin-bottom: 16px; }\n  .mq-cta a {\n    display: inline-block; background: #00b4d8; color: #fff !important; font-weight: 700;\n    font-size: 17px; padding: 14px 36px; border-radius: 8px; text-decoration: none;\n    transition: background 0.2s, transform 0.2s;\n  }\n  .mq-cta a:hover { background: #0099b8; transform: translateY(-2px); }\n  .mq-cta .mq-cta-sub { color: #94a3b8 !important; font-size: 14px !important; margin-top: 10px !important; }\n\n  .mq-blog-wrap .wp-block-image img {\n    border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); border: 1px solid #e8ecf1;\n  }\n<\/style>\n\n\n\n<div class=\"mq-blog-wrap\">\n\n\n\n<p>Single Sign-On sounds like it should be complicated \u2014 certificates, metadata, SAML assertions. In practice, setting it up for mobiQode is a matter of copying a handful of values in the right direction, twice. This guide walks through exactly that, for whichever identity provider your organization runs: <strong>Google Workspace<\/strong>, <strong>Microsoft Entra ID<\/strong>, or <strong>Okta<\/strong>.<\/p>\n\n\n\n<p>mobiQode&#8217;s SSO is built on <strong>SAML 2.0<\/strong>. In SAML terms, mobiQode is the <strong>Service Provider (SP)<\/strong> \u2014 the app your team signs into \u2014 and Google Workspace, Microsoft Entra, or Okta is the <strong>Identity Provider (IdP)<\/strong> \u2014 the system that actually authenticates the user. The two sides need to trust each other, which is what this whole setup process is about.<\/p>\n\n\n\n<div class=\"mq-info-box\">\n  <strong>Available on the Agency plan.<\/strong> Multi-User Support and SSO are included on mobiQode&#8217;s Agency plan, supporting up to 20 team members. If SSO isn&#8217;t showing up under Organization \u2192 Team Users, check your plan first.\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Before You Start<\/h2>\n\n\n\n<div class=\"mq-checklist\">\n  <ul>\n    <li>Organization Owner or Admin access in mobiQode<\/li>\n    <li>Administrator access to your identity provider (Google Workspace, Microsoft Entra, or Okta) with permission to create a SAML application<\/li>\n    <li>A production HTTPS domain for mobiQode SSO<\/li>\n    <li>A test user who exists in <em>both<\/em> systems, using the <strong>exact same email address<\/strong> in each<\/li>\n    <li>That test user enabled\/assigned to the new application in your identity provider<\/li>\n  <\/ul>\n<\/div>\n\n\n\n<div class=\"mq-warn\">\n  <strong>\u26a0\ufe0f The one rule that matters most:<\/strong> mobiQode identifies users by the SAML NameID, and it must be the user&#8217;s email address \u2014 exactly matching the email of their mobiQode organization account. Every provider below needs to be configured to return email as the NameID. Get this wrong and login will fail even though authentication itself succeeded.\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Configure mobiQode as the Service Provider<\/h2>\n\n\n\n<p>This part is identical no matter which identity provider you&#8217;re connecting.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">1<\/span> Log in to mobiQode as an Organization Owner or Admin and go to <strong>Organization \u2192 Team Users \u2192 SSO Configuration<\/strong>.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">2<\/span> Select your <strong>Identity Provider<\/strong>, enter your <strong>Company name<\/strong>, and set the <strong>Slug<\/strong> (the lowercase organization identifier used in your SP URLs).<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">3<\/span> Copy the two values mobiQode generates for you \u2014 you&#8217;ll paste these into your identity provider in the next step:<\/p>\n\n\n\n<table class=\"mq-table\">\n  <thead><tr><th>mobiQode SP value<\/th><th>What it is<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td><strong>Single sign-on URL (ACS)<\/strong><\/td><td>The mobiQode SAML Assertion Consumer Service URL<\/td><\/tr>\n    <tr><td><strong>Audience URI (SP Entity ID)<\/strong><\/td><td>The mobiQode SAML Service Provider Entity ID<\/td><\/tr>\n    <tr><td><strong>Name ID format<\/strong><\/td><td>EmailAddress<\/td><\/tr>\n  <\/tbody>\n<\/table>\n\n\n\n<div class=\"mq-tip\">\n  <strong>\ud83d\udca1 Always copy, never construct.<\/strong> Use the exact values shown in your mobiQode portal \u2014 don&#8217;t type these out from memory or a previous setup. A single mismatched character breaks the handshake.\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Configure Your Identity Provider<\/h2>\n\n\n\n<p>Jump to whichever provider your organization uses.<\/p>\n\n\n\n<div class=\"mq-provider-section\">\n  <div class=\"mq-provider-header\">\ud83d\udd35 Google Workspace<\/div>\n  <div class=\"mq-provider-body\">\n\n\n\n<p><span class=\"mq-step-badge\">1<\/span> In the <strong>Google Admin console<\/strong>, go to <strong>Apps \u2192 Web and mobile apps \u2192 Add app \u2192 Add custom SAML app<\/strong>. Name it &#8220;mobiQode.&#8221;<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">2<\/span> On the <strong>Google Identity Provider details<\/strong> screen, download the IdP metadata XML, or copy the SSO URL, Entity ID, and certificate shown there.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">3<\/span> On <strong>Service provider details<\/strong>, paste in the mobiQode ACS URL and Entity ID from Step 1. Configure the <strong>Name ID<\/strong> to return the user&#8217;s Google primary email address.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">4<\/span> Finish the SAML app setup, then open the app under <strong>Web and mobile apps \u2192 User access<\/strong> and turn it <strong>ON<\/strong> for everyone or for your test user&#8217;s organizational unit\/group.<\/p>\n\n\n\n<table class=\"mq-table\">\n  <thead><tr><th>Google Workspace field<\/th><th>Value from mobiQode<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td>ACS URL<\/td><td>mobiQode Single sign-on URL (ACS)<\/td><\/tr>\n    <tr><td>Entity ID<\/td><td>mobiQode Audience URI \/ SP Entity ID<\/td><\/tr>\n    <tr><td>Start URL<\/td><td>Optional \u2014 only if your mobiQode portal provides one<\/td><\/tr>\n    <tr><td>Signed response<\/td><td>Leave unchecked unless your mobiQode SAML implementation explicitly requires it<\/td><\/tr>\n  <\/tbody>\n<\/table>\n\n\n\n<div class=\"mq-tip\">\n  <strong>\ud83d\udca1 Common error:<\/strong> &#8220;403 \u2014 app_not_configured_for_user&#8221; means the app isn&#8217;t enabled for the Google account you&#8217;re testing with. Check User access and organizational unit\/group membership.\n<\/div>\n\n\n\n  <\/div>\n<\/div>\n\n\n\n<div class=\"mq-provider-section\">\n  <div class=\"mq-provider-header\">\ud83d\udfe6 Microsoft Entra ID<\/div>\n  <div class=\"mq-provider-body\">\n\n\n\n<p><span class=\"mq-step-badge\">1<\/span> In the <strong>Microsoft Entra admin center<\/strong>, go to <strong>Entra ID \u2192 Enterprise apps \u2192 New application \u2192 Create your own application<\/strong>. Name it &#8220;mobiQode&#8221; and select <strong>Integrate any other application you don&#8217;t find in the gallery (Non-gallery)<\/strong>.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">2<\/span> Open the app, go to <strong>Single sign-on \u2192 SAML<\/strong>, and in <strong>Basic SAML Configuration<\/strong> enter the mobiQode ACS URL as the <strong>Reply URL<\/strong> and the mobiQode SP Entity ID as the <strong>Identifier<\/strong>.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">3<\/span> In <strong>Attributes &#038; Claims<\/strong>, set the <strong>Name ID (Name identifier)<\/strong> to the user&#8217;s email attribute \u2014 not a display name or any other identifier.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">4<\/span> In <strong>SAML Certificates<\/strong>, copy the <strong>App Federation Metadata URL<\/strong>.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">5<\/span> Under <strong>Users and groups<\/strong>, assign the users or groups who should have access.<\/p>\n\n\n\n<table class=\"mq-table\">\n  <thead><tr><th>Microsoft Entra field<\/th><th>Value from mobiQode<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td>Identifier (Entity ID)<\/td><td>mobiQode Audience URI \/ SP Entity ID<\/td><\/tr>\n    <tr><td>Reply URL (ACS URL)<\/td><td>mobiQode ACS URL<\/td><\/tr>\n    <tr><td>Sign on URL \/ Relay State \/ Logout URL<\/td><td>Optional<\/td><\/tr>\n  <\/tbody>\n<\/table>\n\n\n\n  <\/div>\n<\/div>\n\n\n\n<div class=\"mq-provider-section\">\n  <div class=\"mq-provider-header\">\u26ab Okta<\/div>\n  <div class=\"mq-provider-body\">\n\n\n\n<p><span class=\"mq-step-badge\">1<\/span> In the <strong>Okta Admin Console<\/strong>, go to <strong>Applications \u2192 Applications \u2192 Create App Integration<\/strong>, select <strong>SAML 2.0<\/strong>, and name it &#8220;mobiQode.&#8221;<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">2<\/span> In <strong>Configure SAML<\/strong>, paste the mobiQode ACS URL as the <strong>Single sign-on URL<\/strong> and the mobiQode SP Entity ID as the <strong>Audience URI<\/strong>. Set <strong>Name ID format<\/strong> to EmailAddress and <strong>Application username<\/strong> to Email. Keep &#8220;Use this for Recipient URL and Destination URL&#8221; enabled.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">3<\/span> Finish setup, then in the app&#8217;s <strong>Sign On<\/strong> tab, copy the <strong>Identity Provider Metadata URL<\/strong>.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">4<\/span> Under <strong>Assignments<\/strong>, assign the people or groups who should authenticate through this app \u2014 a user cannot sign in via Okta SSO until they&#8217;re assigned.<\/p>\n\n\n\n<table class=\"mq-table\">\n  <thead><tr><th>Okta field<\/th><th>Value from mobiQode<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td>Single sign-on URL<\/td><td>mobiQode ACS URL<\/td><\/tr>\n    <tr><td>Audience URI (SP Entity ID)<\/td><td>mobiQode Audience URI \/ SP Entity ID<\/td><\/tr>\n    <tr><td>Name ID format<\/td><td>EmailAddress<\/td><\/tr>\n    <tr><td>Application username<\/td><td>Email<\/td><\/tr>\n  <\/tbody>\n<\/table>\n\n\n\n  <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Import the Metadata Back Into mobiQode<\/h2>\n\n\n\n<p>This last configuration step is the same for all three providers.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">1<\/span> Return to mobiQode&#8217;s <strong>SSO Configuration<\/strong> page and find <strong>Import IdP Metadata<\/strong>.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">2<\/span> Paste the metadata URL you copied (Google&#8217;s IdP metadata URL, the Entra App Federation Metadata URL, or the Okta Identity Provider Metadata URL) and click <strong>Import from IdP<\/strong> \u2014 or upload the downloaded XML file if your provider only gave you a file.<\/p>\n\n\n\n<p><span class=\"mq-step-badge\">3<\/span> mobiQode should auto-populate the <strong>Identity Provider Issuer<\/strong>, <strong>SSO URL<\/strong>, and <strong>X.509 signing certificate<\/strong>. Review these, then enable <strong>SSO<\/strong> and click <strong>Save SSO Configuration<\/strong>.<\/p>\n\n\n\n<div class=\"mq-tip\">\n  <strong>\ud83d\udca1 About SLO (Single Logout):<\/strong> Only use an SLO URL if your identity provider&#8217;s metadata actually supplies a logout endpoint. Don&#8217;t invent one \u2014 if it&#8217;s not there, leave the field empty.\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Invite Users and Test the Login<\/h2>\n\n\n\n<p>Go to <strong>Organization \u2192 Team Users \u2192 Invite User<\/strong>, enter the same email address that exists in your identity provider, choose a role and Edit Scope, and send the invitation. If your organization requires invitation acceptance before first login, complete that first.<\/p>\n\n\n\n<p>To test: go to the mobiQode login page, click <strong>SSO<\/strong> under &#8220;Continue with,&#8221; enter the organization email, and click Continue. You should be redirected to your identity provider, authenticate, and land back on the mobiQode dashboard.<\/p>\n\n\n\n<div class=\"mq-checklist\">\n  <ul>\n    <li>The SAML application is active in your identity provider<\/li>\n    <li>The test user is enabled\/assigned in your identity provider<\/li>\n    <li>The test user exists in the mobiQode organization<\/li>\n    <li>The email address is identical in both systems<\/li>\n    <li>The SAML NameID is the user&#8217;s email address<\/li>\n    <li>The ACS URL and Entity ID in your identity provider exactly match what mobiQode displays<\/li>\n    <li>The IdP metadata has been imported into mobiQode<\/li>\n    <li>SSO is enabled and the mobiQode configuration is saved<\/li>\n    <li>You&#8217;ve tested in a fresh\/incognito browser session at least once<\/li>\n  <\/ul>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<div class=\"mq-faq\">\n  <div class=\"mq-faq-q\">&#8220;Metadata import failed.&#8221;<\/div>\n  <div class=\"mq-faq-a\">Confirm the metadata URL is correct and opens a valid SAML metadata XML document in a browser, or that the downloaded XML file wasn&#8217;t corrupted or edited.<\/div>\n<\/div>\n\n<div class=\"mq-faq\">\n  <div class=\"mq-faq-q\">&#8220;Authentication succeeds at the provider, but mobiQode rejects the user.&#8221;<\/div>\n  <div class=\"mq-faq-a\">Confirm the user belongs to the correct mobiQode organization, and that the SAML NameID being returned is the exact email address of that mobiQode user.<\/div>\n<\/div>\n\n<div class=\"mq-faq\">\n  <div class=\"mq-faq-q\">&#8220;Audience \/ Entity ID error.&#8221;<\/div>\n  <div class=\"mq-faq-a\">The Entity ID configured in your identity provider must exactly match the Audience URI \/ SP Entity ID displayed in mobiQode \u2014 copy it again rather than retyping it.<\/div>\n<\/div>\n\n<div class=\"mq-faq\">\n  <div class=\"mq-faq-q\">&#8220;ACS \/ Reply URL error.&#8221;<\/div>\n  <div class=\"mq-faq-a\">Same idea \u2014 the ACS URL (or Reply URL, in Entra&#8217;s terminology) in your provider must exactly match the Single sign-on URL (ACS) mobiQode shows you.<\/div>\n<\/div>\n\n<div class=\"mq-faq\">\n  <div class=\"mq-faq-q\">&#8220;The user isn&#8217;t assigned\/enabled for the application.&#8221;<\/div>\n  <div class=\"mq-faq-a\">Google Workspace, Entra, and Okta all require an explicit step to grant a user or group access to the application \u2014 check User access (Google), Users and groups (Entra), or Assignments (Okta).<\/div>\n<\/div>\n\n<div class=\"mq-faq\">\n  <div class=\"mq-faq-q\">&#8220;Our signing certificate rotated \u2014 what now?&#8221;<\/div>\n  <div class=\"mq-faq-a\">Re-import your identity provider&#8217;s current metadata (URL or XML) into mobiQode and save the SSO configuration again. Don&#8217;t try to patch in a certificate manually.<\/div>\n<\/div>\n\n<div class=\"mq-faq\">\n  <div class=\"mq-faq-q\">&#8220;Single Logout (SLO) isn&#8217;t working.&#8221;<\/div>\n  <div class=\"mq-faq-a\">Check whether your identity provider&#8217;s metadata actually includes a logout endpoint. If it doesn&#8217;t, leave the SLO field empty rather than entering a guessed URL.<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Reference: Field Mapping by Provider<\/h2>\n\n\n\n<p>Keep this handy while you&#8217;re configuring \u2014 it maps every mobiQode SP field to its equivalent name in each identity provider.<\/p>\n\n\n\n<table class=\"mq-table\">\n  <thead><tr><th>mobiQode (SP)<\/th><th>Google Workspace<\/th><th>Microsoft Entra ID<\/th><th>Okta<\/th><\/tr><\/thead>\n  <tbody>\n    <tr><td>Single sign-on URL (ACS)<\/td><td>ACS URL<\/td><td>Reply URL<\/td><td>Single sign-on URL<\/td><\/tr>\n    <tr><td>Audience URI (SP Entity ID)<\/td><td>Entity ID<\/td><td>Identifier (Entity ID)<\/td><td>Audience URI (SP Entity ID)<\/td><\/tr>\n    <tr><td>Name ID format: EmailAddress<\/td><td>SAML Name ID (primary email)<\/td><td>Name identifier (email attribute)<\/td><td>Name ID format<\/td><\/tr>\n    <tr><td>Import metadata<\/td><td>Google IdP metadata XML<\/td><td>App Federation Metadata URL<\/td><td>Identity Provider Metadata URL<\/td><\/tr>\n    <tr><td>X.509 Certificate<\/td><td>Google Workspace signing certificate<\/td><td>Entra token-signing certificate<\/td><td>IdP signing certificate<\/td><\/tr>\n  <\/tbody>\n<\/table>\n\n\n\n<div class=\"mq-cta\">\n  <p>Ready to connect your identity provider?<\/p>\n  <a href=\"[LINK_TO_TEAM_USERS_SSO_PAGE]\">Open SSO Configuration \u2192<\/a>\n  <p class=\"mq-cta-sub\">Organization \u2192 Team Users \u2192 SSO Configuration<\/p>\n<\/div>\n\n\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Single Sign-On sounds like it should be complicated \u2014 certificates, metadata, SAML assertions. In practice, setting it up for mobiQode is a matter of copying a handful of values in the right direction, twice. This guide walks through exactly that, for whichever identity provider your organization runs: Google Workspace, Microsoft Entra ID, or Okta. mobiQode&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4759,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/posts\/4753"}],"collection":[{"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/comments?post=4753"}],"version-history":[{"count":2,"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/posts\/4753\/revisions"}],"predecessor-version":[{"id":4761,"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/posts\/4753\/revisions\/4761"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/media\/4759"}],"wp:attachment":[{"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/media?parent=4753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/categories?post=4753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mobiqode.com\/blog\/wp-json\/wp\/v2\/tags?post=4753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}