Splash Access merges with Purple – Read more →

Azure AD SAML Integration with Cisco Meraki Captive Portals

A hotel manager sees guests stuck on the Wi-Fi sign-in page. A campus help desk gets reports that student access works on a laptop but loops on an iPhone. In a retail store, staff authenticate successfully while shoppers are redirected to a blank captive portal. These incidents often look like generic Cisco Meraki connectivity problems, but the root cause is usually somewhere in the SAML exchange between Microsoft Entra ID, formerly Azure AD, and the Meraki splash page.

A reliable Azure AD SAML integration needs more than a working enterprise application. The Entity ID, ACS URL, issuer, claims, certificate, clock, captive portal behavior, and post-login redirect all have to agree. The design also needs to distinguish corporate identity from guest Wi-Fi, social login, vouchers, IPSK, and EasyPSK, because one authentication method rarely fits a hotel, university, retail chain, and BYOD corporate network equally well.

What You Need Before Wiring Azure AD SAML to Meraki

A hotel, campus, or retail chain can create the Entra enterprise app in minutes and still spend days chasing a broken SSO loop. The skipped prerequisite is often outside the SAML screen itself, such as an unverified domain, an unassigned test user, an incorrect Meraki network, or an SSID that has never been isolated for testing.

Verify these seven items in order:

  1. Tenant administration: Confirm that the operator has the Global Administrator or Application Administrator role in the Entra tenant. Without the right role, the app may be created but key settings, assignments, or claims may remain inaccessible.

  2. Verified custom domain: Check that the tenant has a verified custom domain. This gives you a predictable identity namespace for user sign-in and avoids building a production flow around temporary or inconsistent usernames.

  3. Meraki organization access: Confirm Enterprise-grade access to the Meraki dashboard organization, including control of Systems Manager or the relevant splash page configuration. The person configuring Entra must be able to reach the Cisco Meraki wireless settings where SAML metadata and redirect behavior are defined.

  4. Non-production SSID: Create a dedicated test SSID. Never begin by changing the live guest Wi-Fi at a hotel front desk, a university residence hall, or a retail store during operating hours.

  5. Network identifiers: Record the Meraki network ID and dashboard API key. Keep the values in the deployment notes, with access limited to the administrators who need them.

  6. Access destinations: Write down who should land on each SSID or VLAN. Staff, students, contractors, guests, and BYOD users may need different policies, even when they share the same physical Cisco Meraki MR access points.

  7. Test cohort: Create an Entra user group that represents the test cohort. Assign only the required users initially, then expand after the SAML assertion and captive portal redirect work consistently.

A checklist showing seven prerequisites for completing an Azure AD SAML integration with Meraki network access.

Practical rule: Keep the first test small and reversible. A controlled group and a dedicated SSID make it much easier to separate an identity problem from a wireless policy problem.

Before opening the Entra admin center, check DNS resolution, synchronized NTP on the relevant Meraki appliances, and outbound HTTPS access on port 443 to login.microsoftonline.com. Microsoft specifically warns that inaccurate time can cause federated logins to fail, so NTP isn't a cosmetic network setting in this design. Teams building an external portal can also review this Azure AD Wi-Fi authentication workflow to align the captive portal experience with the identity flow.

Creating the Enterprise App and Basic SAML Configuration

Start in the Microsoft Entra admin center. Go to Identity, Applications, Enterprise applications, and New application. Choose Create your own application, then select Integrate any other application you don't find in the gallery. This is the practical route for a custom Meraki splash workflow when the exact application template isn't available.

Open the new application, choose Single sign-on, and select SAML. Microsoft describes SAML as an open standard for exchanging authentication and authorization data between an identity provider and a service provider, and its enterprise application workflow exposes the settings needed to manage federation metadata, sign-on URLs, identifiers, reply URLs, claims, and signing certificates through the Entra admin center. See the Microsoft Entra SAML architecture guidance for the role of each side in the exchange.

The Basic SAML Configuration panel is where most Meraki integrations either become predictable or start drifting:

  • Identifier (Entity ID): Enter the Meraki organization URL expected by the service provider. Treat this as an exact string. A different hostname, path, or capitalization can create an audience or issuer mismatch.
  • Reply URL (ACS): Enter the Meraki splash callback URL. Entra posts the SAML response here after authentication, so it must match the URL supplied by the Meraki configuration.
  • Sign-on URL: Use the dashboard sign-in destination or the per-network splash URL, depending on how the organization launches the flow. A sign-on URL that points to the wrong network can make a valid assertion appear to fail.
  • Logout URL: This is optional, but it helps with guest kiosk clean-up and controlled sign-out behavior. Don't treat it as a substitute for clearing a browser session.

Screenshot from https://docs.microsoft.com/en-us/entra/identity/saas-apps/media/cisco-meraki-dashboard-tutorial/add-saml-configuration.png

Choose the identifier that matches the splash design

A dashboard-level splash identifier can suit an organization that wants one shared federation entry point. A per-network identifier is more appropriate when a campus, hotel group, or retail estate needs distinct behavior by site. Don't mix the two models casually. The Entity ID and reply URL must describe the same service-provider instance that initiated the request.

Save the configuration, then download the Federation Metadata XML. Also copy the App Federation Metadata URL. Meraki may consume either the uploaded metadata or the URL, depending on the implementation and dashboard workflow. Keep both in the change record because metadata provides the certificate and endpoint information needed during maintenance. A separate single sign-on implementation guide can help teams document the handoff between Entra and the captive portal.

Mapping Claims and Managing the Signing Certificate

Authentication tells Meraki that a user passed through Entra. Claims tell Meraki who that user is and what the network should do next. Microsoft Entra's documented SAML model supports role mapping through SAML claims, which makes claims useful for assigning SSID behavior, VLAN policy, EasyPSK profiles, or per-user IPSK handling.

Entra normally provides a NameID based on the user's principal name. For a basic splash login, Meraki commonly uses that value as the username. Add only the attributes the portal needs, then test the assertion instead of sending a broad directory profile into the network workflow.

Use group and role claims deliberately

A group claim can carry a group object ID or another controlled group value. Meraki can read a custom claim such as merakiGroup and use it to select an SSID group policy. A separate role claim can feed an EasyPSK assignment process, while an individual identity claim can support per-user IPSK behavior. The exact attribute names must match on both sides.

Entra Claim Value Example Meraki Behavior
NameID User principal name Populates the splash authentication username
merakiGroup Test cohort group value Selects the mapped SSID or group policy
Email User email attribute Populates an email field in the splash workflow
Role Staff, student, guest Supports EasyPSK or role-based access logic
Group object ID Entra group identifier Provides a stable group value for policy matching

Use a controlled claim rather than exposing every directory group. Large or changing group membership can make assertions difficult to inspect and may exceed what the captive portal expects. Teams comparing identity providers can review this Google Workspace SAML integration reference for the same core principle, claims must be agreed between the identity provider and service provider.

Protect the signing trust

Entra generates a token-signing certificate for the enterprise application, and the certificate lifecycle must be part of the operating runbook. Download the Base64 CER from the SAML Signing Certificate area, then upload it in Meraki under Wireless, Splash, and the SAML settings.

Certificate drift is easy to miss. An administrator can regenerate a certificate in Entra, leave the old certificate in Meraki, and create an outage that looks like an invalid response or failed user assignment. Rotate before expiry, stage the new certificate where the platform allows it, and overlap the old and new trust windows during a planned maintenance period. After the change, run a real browser login from the test SSID, not just an administrative configuration check.

Connecting the SAML Flow to Meraki Captive Portals

A campus IT team usually starts with a controlled MR SSID. The user joins the wireless network, reaches the Meraki splash page, and selects the SAML sign-in option. Meraki sends the authentication request to Entra, Entra evaluates the enterprise application and its access policies, then posts the assertion to the configured ACS endpoint before the user returns to the splash flow.

In the Meraki SSO configuration, paste the Entra sign-in URL and Entra ID entity ID exactly as provided. Upload the Base64 token-signing certificate, select the group attribute statement used for SSID tagging, and choose the redirect URL that sends the user back to the splash page after authentication. Meraki describes splash pages as captive portals that users must view and interact with before internet access is granted, and its dashboard treats splash logins and login attempts as measurable access-control events, not merely visual pages. The Meraki splash page overview is useful when validating where the authentication event sits in the access sequence.

Screenshot from https://documentation.meraki.com/MR/Wi-Fi_Design_and_Configurations/Splash_Page_SSO_with_SAML

Why the same design behaves differently by sector

On a university campus, group claims can separate students, faculty, contractors, and event visitors. The group value can drive SSID or VLAN policy, while an email claim fills the splash form without asking the user to type the same information again. That can make federated access a sensible fit for people who already hold institutional identities.

A retail BYOD store has a different audience. Employees may benefit from Entra SAML, but shoppers usually need guest Wi-Fi with low friction. A social login or social WiFi flow, a voucher, or a short registration form can be more appropriate than requiring a shopper to hold an organizational account.

SP-initiated login is generally the safer captive portal pattern because the user starts at the splash page and Meraki knows where to send the response. IdP-initiated launch from Entra My Apps can work for managed browsers, but iOS Captive Network Assistant may not preserve the same navigation context. That can leave a user authenticated in Entra without completing the network authorization step.

A group claim can drive SSID assignment, an email claim can populate the splash form, and a custom role claim can feed EasyPSK logic for per-user pre-shared keys. Verify the result on the MR access-point firmware line that supports the required SSID tagging and group-based VLAN tagging, then inspect the test login in the Meraki dashboard event view. Cisco Meraki MR supports guest captive portal options such as sponsored login, while Meraki MX doesn't support sponsored login, so don't assume an MX deployment has the same portal behavior as an MR wireless deployment. Meraki's documented options also include click-through sign-on, guest-ambassador authorization, username and password sign-on, and Facebook sign-on.

Common SAML Errors and How to Fix Them

Most failed Meraki captive portal integrations don't fail because SAML is mysterious. They fail because two systems contain values that look similar but aren't identical. Microsoft recommends using SAML tracing to inspect whether the request is signed, which algorithm is used, whether Entra returns an error, and whether the assertion is encrypted. Capture one failed transaction, compare it with a successful test, and work from the assertion rather than from assumptions.

The five failure patterns

Symptom Root Cause Fix
Assertion rejected or login loops Clock skew on the Meraki MR or MX Point the appliance and surrounding network infrastructure at an accurate internal NTP source, then retest
Invalid SAML response after certificate change Entra signing certificate drift Compare the active Entra certificate with the certificate stored in Meraki and upload the current Base64 certificate
Username rejected despite valid credentials NameID format or value doesn't match the Meraki expectation Set the NameID format to email-address when the portal expects an email identity
Entra returns an ACS or reply URL error Reply URL typo, protocol difference, or trailing-slash mismatch Paste the exact ACS URL from the Meraki dashboard into Basic SAML Configuration
Policy doesn't apply or assertion is too large Too many group claims or an unexpected group value Trim issuance with a transform or send one controlled role claim

Clock skew deserves priority because it can affect every user at once. Microsoft explicitly warns that the identity provider server clock must be synchronized to an accurate time source, and inaccurate time can make federated logins fail. Don't open a firewall path to a public NTP service as the first response. Use the organization's approved internal time source and verify the Meraki event timestamp against the Entra sign-in record.

Certificate drift tends to appear after an administrator changes the Entra signing certificate without updating Meraki. The integration can remain untouched in the dashboard while trust has already changed. Monitor certificate expiry notifications, record the active thumbprint, and schedule the replacement before users report invalid responses.

NameID mismatch is more subtle. A user can authenticate successfully in Entra, yet Meraki may reject the identity because the assertion uses an unexpected format or attribute. In the browser SAML tracer, inspect the NameID value and format, then compare it with the username field that the splash service expects.

Reply URL mismatch is often a copy-and-paste error. Compare the exact https scheme, hostname, path, capitalization, and trailing slash. The request's ACS destination and Entra's Reply URL must match character for character.

Group overflow appears when Entra emits more groups than the Meraki attribute statement can use. Trace the assertion, identify the repeated group elements, then reduce the output to a role or purpose-built group claim. For additional troubleshooting context, use this guide to diagnose a captive portal that isn't working.

Don't change five settings at once. Capture the failing assertion, isolate one mismatch, correct it, and repeat the test from a clean browser session.

When SAML Is the Wrong Choice for Guest Wi-Fi

SAML is a strong fit when users already belong to a managed identity population. It isn't automatically the right authentication solution for every guest Wi-Fi network. A captive portal for corporate BYOD has different requirements from a hotel lobby, a coffee shop, or a university event.

A hotel lobby may have hundreds of transient visitors arriving with personal devices. Requiring a federated organizational login adds a step that many guests can't complete or won't understand. A click-through splash with a one-time email capture, sponsor approval, or another lightweight workflow usually matches the audience better than Entra SAML.

A coffee shop chain faces a different problem. The operator would need to provision or manage Entra identities for people who aren't employees or long-term members. Social WiFi through Facebook or Google, a social login flow, or a paid voucher system can fit that audience more naturally, provided the organization handles consent, privacy, and support responsibly.

Retail stores often need two separate experiences. Staff can use a SAML-protected corporate SSID, with Entra groups driving role-based access. Shoppers can use a separate guest SSID with an open splash, social login, SMS registration, or click-through access. One shared SSID makes the policy boundary harder to explain and increases the chance that a shopper sees an employee-oriented sign-in screen.

A comparison table outlining scenarios where SAML authentication for guest Wi-Fi is suboptimal versus better alternatives.

Pair authentication with lifecycle control only when it pays

SAML handles sign-in, not the complete identity lifecycle. For deployments that need automated user and group synchronization, SCIM 2.0 can complement Entra SAML, while IPSK or EasyPSK can provide device-specific or user-specific network credentials. AWS documentation explicitly pairs Microsoft Entra SAML with SCIM 2.0 for user and group synchronization, which illustrates the operational distinction between authentication and provisioning.

That combination is useful for a university workforce, a corporate BYOD program, or a managed partner network. It adds work, though. Teams must maintain provisioning scope, group mappings, role bindings, key rotation, offboarding behavior, and help-desk procedures. Each SAML failure mode creates another support path, and an EasyPSK binding can remain stale even after the identity itself has been disabled.

Before choosing federation for guest Wi-Fi, read this captive portal guide for network managers and decide whether the users are federated. Splash Access is one option for external Cisco Meraki captive portals, with workflows that support Azure AD, SAML, social WiFi, IPSK, and guest onboarding. The decision should follow the audience and lifecycle requirement, not the availability of an enterprise identity provider.

Keeping Azure AD SAML Healthy Across Multiple Sites

A multi-site Meraki deployment becomes fragile when every hotel, campus building, or retail store has its own Entra app, certificate copy, claim variation, and redirect URL. Centralize the enterprise application in Entra ID where the access model allows it, maintain one approved SAML metadata template, and push consistent policy through the Meraki organization-level configuration. Keep site-specific differences explicit, especially when a network uses a distinct splash identifier or VLAN policy.

Conditional Access should follow the actual risk boundary. A corporate BYOD SSID may require stronger controls than a visitor SSID, and a staff group may need a different policy from a student or contractor group. Entra ID includes SAML single sign-on for enterprise applications across its tiers, while Conditional Access requires P1 and risk-based policies require P2, so confirm licensing before designing controls around those features. Microsoft documents the SAML sign-in URL format as https://login.microsoftonline.com/{tenant-id}/saml2, which should be recorded as part of the standard configuration.

Treat certificates and time as production dependencies

Don't wait for a failed login to discover that Meraki and Entra trust different signing certificates. Maintain an expiry calendar, test the replacement certificate with the non-production SSID, and use an overlap window during rotation where the platform supports it. The same principle applies to SAML time validity. Microsoft Entra documentation states that a SAML assertion is valid for 70 minutes by default, so a clock problem or a long captive portal detour can create confusing symptoms even when the user's credentials are correct. See the Entra enterprise application migration guidance for the documented application and claim model.

Use Entra sign-in logs, Log Analytics, and Azure Monitor workbooks alongside Meraki event logs. Search for repeated SAML responses in the 500 class, assertion replay errors, certificate trust failures, clock-related rejection, and a sudden spike at one site. A single building with failures usually points to local time, DNS, firmware, splash configuration, or outbound access. Failures across every site point more strongly to the shared enterprise app, certificate, claim, or Conditional Access policy.

Keep a warning-sign checklist in the operations runbook:

  • Rising server-side SAML errors: Correlate timestamps across Entra and Meraki before changing configuration.
  • Certificate drift: Compare the active signing certificate with the stored Meraki certificate.
  • Conditional Access drift: Recheck group membership and policy scope after organizational changes.
  • Stuck EasyPSK bindings: Confirm that role claims still map to the intended key or access policy.
  • Provisioning gaps: Use SCIM automation when manual group and user updates create repeated lifecycle tickets.
  • Emergency access: Maintain break-glass local accounts outside the normal federation path and protect them with documented controls.
  • Recovery practice: Run quarterly tabletop failure drills for distributed campus and retail estates, including an expired certificate, unavailable identity service, and a broken redirect.

A healthy Azure AD SAML integration is maintained like a network service, not filed away as a completed application configuration. Test the complete path, monitor both sides, and give the help desk a decision tree that starts with the assertion, not with a blind password reset.


If your Cisco Meraki guest Wi-Fi needs a practical identity workflow, Splash Access provides captive portal options that connect Azure AD and SAML with guest Wi-Fi, social login, IPSK, and EasyPSK use cases. Visit the platform to review the right authentication design for your hotel, education, retail, or corporate BYOD network before changing a production SSID.

Related Posts