SAML Single Sign-On (SSO) for your Moodle site can be achieved using our miniOrange SAML SSO plugin. Our plugin is
compatible with all the SAML compliant Identity providers. Here we will go through a step-by-step guide to configure
Single Sign-On (SSO) between Azure B2C as Identity Provider (IdP) and Moodle as Service Provider (SP).
Pre-requisites : Download
and Installation
To configure Azure B2C as IdP with Moodle, you will need to install the miniOrange SAML 2.0 SSO plugin:
SSO Single Sign On to Moodle with Azure, Azure B2C, Okta, ADFS, Keycloak, Onelogin, Gsuite, Shibboleth & many SAML IdPs [24/7 SUPPORT]
Steps to configure Azure B2C
Single Sign-On (SSO) Login into moodle (WP)
1. Setup Azure B2C as IdP
- In the Plugins tab scroll to Service Provider Metadata
section you can find the SP metadata such as SP Entity-ID and ACS
(AssertionConsumerService)
URL which are required to configure the Identity Provider.
Register the
Identity Experience Framework application
Register the
Identity Experience Framework application
- In left side, under Manage section, click the Expose an API subtab.
- Click on Add a scope, then click Save and continue button to accept the default application ID URI.
- Enter the following values to create a scope that allows custom policy execution in your Azure AD B2C
tenant:
- Scope name: user_impersonation
- Admin consent display name: Access IdentityExperience Framework
- Admin consent description: Allow the application to access IdentityExperience Framework on
behalf of the signed-in user.
- Click Add scope to save the details.
Register the
ProxyIdentityExperienceFramework application
- Click on App registrations tab, and then select New registration.
- For Name, enter ProxyIdentityExperienceFramework.
- Under Supported account types, select Accounts in this organizational directory only.
- Under Redirect URI, use the drop-down to select Public client/native (mobile & desktop).
- For Redirect URI, enter myapp://auth.
- In the Permissions section, select the Grant admin consent to openid and offline_access permissions check box.
- Click on Register button.
- Record the Application (client) ID for use in a later step.
Next, specify that
the application should be treated as a public client
- In the left section, under Manage section, click on Authentication tab.
- Scroll down to Advanced settings section, enable Allow public client flows (select Yes).
- Click on Save button to save the changes.
Now, grant
permissions to the API scope you exposed earlier in the IdentityExperienceFramework registration
- Under Manage section, click on API permissions tab.
- In the Configured permissions section, click on Add a permission.
- Click on the My APIs tab, then select the IdentityExperienceFramework
application.
- Under the Permission section, select the user_impersonation scope that you defined earlier.
- Select Add permissions. As directed, wait a few minutes before proceeding to the next step.
- Click on Grant admin consent for (your tenant name).
- 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.
- Click on the Yes button.
- Click on Refresh.
- Verify that "Granted for ..." appears in Status column for the scopes -
offline_access, openid and user_impersonation. It might take a few minutes for the permissions to propagate.
Register the
moodle Application
- Navigate to App registrations >> New registration.
- Enter a Name for the application such as: moodle.
- In Supported account types section, select Accounts in any identity provider or organizational directory (for authenticating users with user flows).
- In the Redirect URI section, select Web, and then enter the ACS URL from the Service Provider Metadata
tab of the miniOrange SAML plugin.
- Enable the checkbox Grant admin consent to openid and offline_access permissions.
- Click on Register button.
- In the Manage section at left side, click on Expose an API tab.
- Click on Add for the Application ID URI and then click on Save, accepting the default value.
- Once saved, copy the Application ID URI and navigate to the Service Provider Metadata section of the
plugin.
- Paste the copied value in the SP Entity ID / Issuer field.
- Scroll down and click on Save changes button.
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.
- Enter your Azure B2C tenant name below, along with the application ID for
IdentityExperienceFramework and
ProxyIdentityExperienceFramework apps as registered in the above steps.
Click on the Generate Azure B2C Policies button to download the SSO policies.
Extract the downloaded zip file. It contains the policy files and certificate (.pfx), which you will require
in the following steps.
Setup Certificates
NOTE:
In the following step if the 'Identity Experience Framework' is not clickable then it might be the
reason that you don't have an active Azure AD B2C subscription for that tenant. You can find the details
regarding the Azure AD B2C subscription
here and you can create a new tenant by following the steps here.
Upload the
Certificate
- Sign in to the Azure portal and browse to your Azure
AD B2C tenant.
- In left seide, under Policies section, select Identity Experience Framework tab.
- Navigate to Policy keys >> Add.
- Select Options as Upload
- Enter the Name as SamlIdpCert. The prefix B2C_1A_ is automatically added to the name of your 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.
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 clik on Add.
- For Options field, choose Generate.
- In Name, enter TokenSigningKeyContainer.
- For Key type, select RSA.
- For Key usage, select Signature.
- Click on the Create button.
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 click on Add.
- For Options, choose Generate.
- In Name, enter TokenEncryptionKeyContainer.
- For Key type, select RSA.
- For Key usage, select Encryption.
- Click on the Create button.
Upload the
Policies
- Select the Identity Experience Framework menu item in your B2C tenant in the Azure portal.
- Select Upload custom policy.
- As per the following order, upload the policy files downloaded in the above steps:
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
- SignUpOrSigninSAML.xml
- As you upload the files, Azure adds the prefix B2C_1A_ to each.
You have successfully configured Azure B2C as SAML IdP (Identity Provider) for achieving moodle Azure B2C Single
Sign-On (SSO) Login, ensuring secure login into moodle (WP) Site.
2. Configure Moodle as SP
We will go through the steps to setup Moodle as a Service Provider. Here, we will be adding the IdP metadata to
configure the plugin.
You have successfully configured Moodle as SAML SP for achieving Azure B2C SSO login into
your Moodle Site.
Why Our Customers choose miniOrange Moodle Single Sign-On (SSO) Solutions?
24/7 Support
miniOrange provides 24/7 support for all the Secure Identity Solutions. We
ensure high quality support to meet your satisfaction.
Sign Up
Affordable Pricing
miniorange provides most affordable Secure Moodle Single Sign-on Solutions.
Reviews
Extensive Setup Guides
Easy and precise step-by-step instructions and videos to help you configure
within minutes.
Watch Demo
We offer Secure Identity Solutions for Single Sign-On, Two Factor Authentication, Adaptive MFA, Provisioning,
and much more. Please contact us at -
 +1 978 658 9387 (US) | +91 97178 45846 (India) samlsupport@xecurify.com
[MO_CONTACT_US]