Step 2: Register Azure B2C Applications:
Register the Identity Experience Framework application
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.
- 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 IdentityExperienceFramework
- Admin consent description: Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
- Select Add scope
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.
- 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.
- Record the Application (client) ID for use in a later step.
Next, specify that the application should be treated as a public client:
- Under Manage, select Authentication.
- Under Advanced settings, enable Allow public client flows (select Yes).
- Select Save.
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.
- Select the My APIs tab, then select the IdentityExperienceFramework application.
- 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.
- Select 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.
- Select Yes.
- 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.
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.
- Under Redirect URI, select Web, and then enter the ACS URL from the Service Provider Metadata tab of the miniOrange SAML plugin.
- Select 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.
- Once saved, copy the Application ID URI and navigate to the Service Provider Metadata tab of the plugin.
- 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.
- 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 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.
Step 4. 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 AzureAD B2C subscription for that tenant.
You can find the details regarding the AzureAD 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.
- Under Policies, select Identity Experience Framework and then 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.
- 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 select Add.
- For Options, choose Generate.
- In Name, enter TokenSigningKeyContainer.
- For Key type, select RSA.
- For Key usage, select Signature.
- Select Create.
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.
- Select Create.
Step 5: 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 Azure B2C Single Sign-On (SSO) Login, ensuring secure login into WordPress (WP) Site.
Step 6: Configure the plugin:
- Navigate to the Service Provider Setup tab of the plugin and click on the Upload IDP Metadata button.
- Provide any IDP Name. For example, AzureB2C
- Enter the Metadata URL as https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_saml/Samlp/metadata
(NOTE :You will need to replace the tenant-name in above URl with Azure B2C tenant name)
- Click on the Fetch Metadata button.
-