SAML Single Sign On (SSO) into WordPress using Azure B2C | AzureB2C SSO



WordPress SAML SP Single Sign-On plugin gives the ability to enable SAML Single Sign-On for your WordPress sites. Our plugin is compatible with all the SAML compliant Identity providers. Here we will go through a step-by-step guide to configure SSO between WordPress site and Azure B2C by considering Azure B2C as Idp.


miniorange img Pre-requisites : Download And Installation

To configure Azure B2C integration with Wordpress, you will need to install the miniOrange WP SAML SP SSO plugin:


Step 1: Setup Azure B2C as Identity Provider

Follow the steps below to configure Azure B2C as an Identity Provider


    miniorange img  Configuring Azure B2C as IdP
    • In the miniOrange SAML SP SSO plugin, navigate to Service Provider Metadata tab. Here, you can find the SP metadata such as SP Entity ID and ACS (AssertionConsumerService) URL which are required to configure the Identity Provider.
    • azure b2c sp initiated sso

Step 2: Register Azure B2C Applications:

SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,sp initiated sso sso-1  Register the IdentityExperienceFramework application

  • From the Azure AD B2C tenant, select App registrations, and then select New registration.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C Identity Experience FrameWork
  • For Name, enter IdentityExperienceFramework.
  • Under Supported account types, select Accounts in this organizational directory only.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C Register an Application
  • Under Redirect URI, select Web, and then enter https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, where your-tenant-name is your Azure AD B2C tenant domain name.
  • Under Permissions, select the Grant admin consent to openid and offline_access permissions check box.
  • Select Register.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Redirect URL
  • Record the Application (client) ID for use in a later step.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Application Client ID
Next, expose the API by adding a scope:
  • Under Manage, select Expose an API.
  • Select Add a scope, then select Save and continue to accept the default application ID URI.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Expose an api
  • Enter the following values to create a scope that allows custom policy execution in your Azure AD B2C tenant:
    1. Scope name: user_impersonation
    2. Admin consent display name: Access IdentityExperienceFramework
    3. Admin consent description: Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
  • Select Add scope
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, custom scopes

SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, SP initiated SSO Register the ProxyIdentityExperienceFramework application

  • Select App registrations, and then select New registration.
  • For Name, enter ProxyIdentityExperienceFramework.
  • Under Supported account types, select Accounts in this organizational directory only.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Original Directory
  • Under Redirect URI, use the drop-down to select Public client/native (mobile & desktop).
  • For Redirect URI, enter myapp://auth.
  • Under Permissions, select the Grant admin consent to openid and offline_access permissions check box.
  • Select Register.
  •  SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Register
  • Record the Application (client) ID for use in a later step.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, application proxy
Next, specify that the application should be treated as a public client:
  • Under Manage, select Authentication.
  • Under Advanced settings, enable Treat application as a public client (select Yes).
  • Select Save.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, proxy  authentication
Now, grant permissions to the API scope you exposed earlier in the IdentityExperienceFramework registration:
  • Under Manage, select API permissions.
  • Under Configured permissions, select Add a permission.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, authentication
  • Select the My APIs tab, then select the IdentityExperienceFramework application.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, API permissions
  • Under Permission, select the user_impersonation scope that you defined earlier.
  • Select Add permissions. As directed, wait a few minutes before proceeding to the next step.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, My APIs
  • Select Grant admin consent for (your tenant name).
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Grant Admin
  • Select your currently signed-in administrator account, or sign in with an account in your Azure AD B2C tenant that's been assigned at least the Cloud application administrator role.
  • Select Accept.
  • Select Refresh, and then verify that "Granted for ..." appears under Status for the scopes - offline_access, openid and user_impersonation. It might take a few minutes for the permissions to propagate.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,Status og admin access

SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, sso login Register the WordPress Application

  • Select App registrations, and then select New registration.
  • Enter a Name for the application such as: WordPress.
  • Under Supported account types, select Accounts in any organizational directory or any identity provider. For authenticating users with Azure AD B2C.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Supported account types
  • Under Redirect URI, select Web, and then enter the ACS URL from the Service Provider Metadata tab of the miniOrange SAML plugin.
  • Select Register.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,WP-app Register
  • Under Manage, click on Expose an API.
  • Click on Set for the Application ID URI and then click on Save, accepting the default value.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,WP-app Expose a sso login
  • Once saved, copy the Application ID URI and navigate to the Service Provider Metadata tab of the plugin.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, custom login page
  • Paste the copied value under the SP Entity ID / Issuer field provided in this tab.
  • Click on Save.

Step 3: Generate SSO Policies

  • From our Azure B2C portal, navigate to the Overview section of your B2C tenant and record your tenant name.
    NOTE: If your B2C domain is b2ctest.onmicrosoft.com, then your tenant name is b2ctest.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, B2C tenant ID Reco
  • Navigate to the Service Provider Setup tab of the plugin and select the IDP as Azure B2C.
  • Enter your Azure b2c tenant name and application ID for IdentityExperienceFramework and ProxyIdentityExperienceFramework apps registered in the above steps.
  • Click on the Save button.
  • Now click on the Generate SSO Policies button to download the SSO policies.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, sp initiated sso
  • Extract the downloaded zip file. It contains the policy files and certificate (.pfx), which you will require in the following steps.

Step 4. Setup Certificates

SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,certificate Upload the Certificate

  • Sign in to the Azure portal and browse to your Azure AD B2C tenant.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, framework
  • Under Policies, select Identity Experience Framework and then Policy keys.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,Policy keys
  • Select Add, and then select Options > Upload
  • Enter the Name as SamlIdpCert. The prefix B2C_1A_ is automatically added to the name of your key.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C, Create a Key
  • Using the upload file control, upload your certificate that was generated in the above steps along with the SSO policies (tenantname-cert.pfx).
  • Enter the certificate's password as your tenant name and click on Create.
    For example, if your tenant name is xyzb2c.onmicrosoft.com, enter the password as xyzb2c
  • You should be able to see a new policy key with the name B2C_1A_SamlIdpCert.

SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,  sp initiated sso sso-29 Create the signing key

  • On the overview page of your Azure AD B2C tenant, under Policies, select Identity Experience Framework.
  • Select Policy Keys and then select Add.
  • For Options, choose Generate.
  • In Name, enter TokenSigningKeyContainer.
  • For Key type, select RSA.
  • For Key usage, select Signature.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,Create the signing key
  • Select Create.

SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,sp initiated sso sso-31 Create the encryption key

  • On the overview page of your Azure AD B2C tenant, under Policies, select Identity Experience Framework.
  • Select Policy Keys and then select Add.
  • For Options, choose Generate.
  • In Name, enter TokenEncryptionKeyContainer.
  • For Key type, select RSA.
  • For Key usage, select Encryption.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,Create the encryption key
  • Select Create.

Step 5: Upload the Policies

  • Select the Identity Experience Framework menu item in your B2C tenant in the Azure portal.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,  Upload the Policies
  • Select Upload custom policy.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C identity experience framework
  • As per the following order, upload the policy files downloaded in the above steps:
    1. TrustFrameworkBase.xml
    2. TrustFrameworkExtensions.xml
    3. SignUpOrSignin.xml
    4. ProfileEdit.xml
    5. PasswordReset.xml
    6. SignUpOrSigninSAML.xml
  • As you upload the files, Azure adds the prefix B2C_1A_ to each.

Step 6: Configure the plugin:

  • Navigate to the Service Provider Setup tab of the plugin and click on the Update SSO Configuration button.
  • SAML Single Sign-On (SSO) using Azure B2C as Identity Provider (IdP),for SAML 2.0 Azure B2C,sp initiated sso

Step 7: Attribute Mapping

  • In the free plugin, only NameID is supported for Email and Username attributes of the WordPress user.
  • When a user performs SSO, the NameID value sent by the IDP will get mapped to the email and username of the WordPress user.
  • wordpress saml attribute mapping

Step 8: Role Mapping

  • In the free plugin, you can choose a default role which will be assigned to all the non-admin users when they perform SSO.
  • Go to Attribute/Role mapping tab and navigate to Role Mapping section.
  • Select the Default Role and click on the Save button.
  • wordpress saml role mapping

Step 9: SSO settings

  • In the free plugin you can add a login widget to enable SP-Initiated SSO on your site.
  • Navigate to Redirection and SSO links tab and follow the given steps given under Option 1: Use a Widget to add a login widget on your site.
  • wordpress saml sso setting

Step 7: Attribute Mapping

  • Attribute Mapping feature allows you to map the user attributes sent by the IDP during SSO to the user attributes at WordPress.
  • In WordPress SAML plugin, go to Attribute/Role Mapping tab and fill up the following fields in Attribute Mapping section.
  • wordpress saml attribute mapping

    NOTE: If you click on Test Configuration button in Service Provider Setup tab and authenticate with your IDP, you can see a list of attributes sent by the IDP in the Attribute/Role mapping tab. This information can be used to provide the above mapping.

Step 8: Role Mapping

    In the standard plugin, you can choose a default role which will be assigned to all the non-admin users when they perform SSO.

  • Go to Attribute/Role mapping tab and navigate to Role Mapping section.
  • Select the Default Role and click on the Save button.
  • wordpress saml role mapping

Step 9: SSO settings

    In the Standard plugin you can enable SP-initiated SSO using the following options.

  • Auto-Redirection from site: If this option is enabled, any unauthenticated user trying to access your site will get redirected to the IDP login page and after successful authentication, they will be redirected back to the same page on your site which they were trying to access.
  • Steps:

      1.  Go to Redirection and SSO Links tab of the plugin and navigate to Option 1: Auto-      Redirection from site.

      2.  Enable Redirect to IdP if user not logged in [PROTECT COMPLETE SITE] option.

      wordpress saml optin 1

  • Auto-Redirection from WordPress Login: If this option is enabled, any unauthenticated user trying to access the default WordPress login page will get redirected to the IDP login page for authentication. After successful authentication, they will be redirected back to the WordPress site.
  • Steps:

      1.  Go to Redirection and SSO Links tab of the plugin and navigate to Option 2: Auto-      Redirection from WordPress Login.

      2.  Enable Redirect to IdP from WordPress Login Page option.

      wordpress saml optin 2

      NOTE: Please enable the Backdoor login and note down the backdoor URL. This will allow you to access the WordPress login page in case you get locked out of the IDP.



  • SSO Links: You can add SSO links anywhere on your site using the Shortcode and Widget provided in Redirection and SSO Links tab > Option 3: SSO Links section of the plugin
  • wordpress saml optin 3

Step 7: Attribute Mapping

  • Attribute Mapping feature allows you to map the user attributes sent by the IDP during SSO to the user attributes at WordPress.
  • In WordPress SAML plugin, go to Attribute/Role Mapping tab and fill up the following fields in Attribute Mapping section.
  • wordpress saml attribute mapping
  • Custom Attribute Mapping: This feature allows you to map any attribute sent by the IDP to the usermeta table of WordPress.
  • wordpress saml custom attribute mapping

Step 8: Role Mapping

    This feature allows you to assign and manage roles of the users when they perform SSO. Along with the default WordPress roles, this is compatible with any custom roles as well.

  • From the Attribute Mapping section of the plugin, provide a mapping for the field named Group/Role. This attribute will contain the role related information sent by the IDP and will be used for Role Mapping.
  • Navigate to role mapping section and provide the mappings for the highlighted roles.
  • wordpress saml role mapping
  • For example, If you want a user whose Group/Role attribute value is wp-editor to be assigned as an Editor in WordPress, just provide the mapping as wp-editor in the Editor field of Role Mapping section.

Step 9: SSO settings

    In the Premium plugin you can enable SP-initiated SSO using the following options.

  • Auto-Redirection from site: If this option is enabled, any unauthenticated user trying to access your site will get redirected to the IDP login page and after successful authentication they will be redirected back to the same page on your site which they were trying to access.
  • Steps:

      1.  Go to Redirection and SSO Links tab of the plugin and navigate to Option 1 : Auto-Redirection from site.
      2.  Enable Redirect to IdP if user not logged in [PROTECT COMPLETE SITE] option.

      wordpress saml optin 1

  • Auto-Redirection from WordPress Login: If this option is enabled, any unauthenticated user trying to access the default WordPress login page will get redirected to the IDP login page for authentication. After successful authentication, they will be redirected back to the WordPress site.
  • Steps:

      1.  Go to Redirection and SSO Links tab of the plugin and navigate to Option 2: Auto-      Redirection from WordPress Login.
      2.  Enable Redirect to IdP from WordPress Login Page option.

      wordpress saml optin 2

      NOTE: Please enable the Backdoor login and note down the backdoor URL. This will allow you to access the WordPress login page in case you get locked out of the IDP login.

  • Login Button: You can add a customized login button anywhere on your site or WordPress login page by navigating to Option 3: Login Button section of Redirection and SSO Links tab.
  • wordpress saml optin 3
  • SSO Links: You can add SSO links anywhere on your site using the Shortcode and Widget provided in Option 4: SSO Links section of Redirection and SSO Links tab.
  • wordpress saml optin 4

Recommended Add-ons

SCIM User Provisioning

SCIM User Provisioning allows you to sync user's creation, updation and deletion from your IDP to WordPress site

Know more

Page and Post Restriction

Page and Post Restriction plugin restricts WordPress pages and posts based on User Roles and User's Login Status

Know more

BuddyPress Integrator

Allows to integrate user attribute information received from SAML Identity Provider with the user's BuddyPress profile

Know more

Learndash Integrator

LearnDash Integration will map the SSO users to LearnDash groups as per the user group attributes sent by your Identity Provider

Know more

Attribute Based Redirection

Attribute Based Redirection plugin can be used to restrict and redirect users to different URL's based on SAML attributes

Know more

Federation Single Sign On

Federation SSO allows configuring Single Sign-On (SSO) support for multiple IDPs and authenticating with different IDPs using SAML protocol

Know more

SSO Login Audit

SSO Login Audit captures and tracks all the SSO users and generates reports

Know more

If you are looking for anything which you cannot find, please drop us an email on samlsupport@xecurify.com

Hello there!

Need Help? We are right here!

support
Contact miniOrange Support
success

Thanks for your inquiry.

If you dont hear from us within 24 hours, please feel free to send a follow up email to samlsupport@xecurify.com