SAML Single Sign-On (SSO) for WordPress using Shibboleth-2 as IDP | Shibboleth-2 WordPress SSO Login
Overview
Shibboleth-2 Single Sign-On (SSO) login for WordPress can be achieved by using our WordPress SAML Single Sign-On (SSO) plugin. Our plugin is compatible with all the SAML compliant Identity Providers (IDPs). Here we will go through a step-by-step guide to configure Shibboleth WordPress login between WordPress site and Shibboleth-2 by considering Shibboleth-2 as IDP (Identity Provider) and WordPress as SP (Service Provider).
You can visit our WordPress SSO plugin to know more about the other features we provide.
Pre-requisites : Download And Installation
To configure Shibboleth-2 as SAML IdP with WordPress, you will need to install the miniOrange WP SAML SP SSO plugin.
Configuration Steps
Step 1: Setup Shibboleth-2 as IdP (Identity Provider)
Follow the following steps to Configure Shibboleth-2 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.
- In conf/relying-party.xml, configure Service Provider like this:
<MetadataProviderxsi:type="InlineMetadataProvider"
xmlns="urn
:mace:shibboleth:2.0:metadata" id="MyInlineMetadata">
<EntitiesDescriptorxmlns="urn:oasis:names:tc:SAML:2.0:metadata">
<md:EntityDescriptorxmlns:md="urn:oasis:names:tc:SAML:2
.0:metadata"
entityID="<ENTITY_ID_FROM_PLUGIN>">
<md:SPSSODescriptorAuthnRequestsSigned="false"
WantAssertionsSigned="true" protocolSupportEnumeration=
"urn:oasis:names:tc:SAML:2.0:protocol">
<
urn:oasis:names:tc:SAML:1
.1:nameidformat:emailAddress</md:NameIDFormat>
<md:AssertionConsumerService
Binding="urn
:oasis:names:tc:SAML:2.0:bindings:https-POST"
Location="<ACS_URL_FROM_PLUGIN>"
index="1"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
</EntitiesDescriptor>
</MetadataProvider>
- Make sure your Shibboleth server is sending Email Address of the user in Name ID . In attribute-resolver.xml, get the email attribute as Name ID:
<resolver:AttributeDefinitionxsi:type="ad:Si
mple" id="email"
sourceAttributeID="mail">
<resolver:Dependency ref="ldapConnector" />
<resolver:AttributeEncoderxsi:type="enc:SAML2
StringNameID"
nameFormat="urn:oasis:names:tc:SAML:1.1:
nameid-format:emailAddress"/>
</resolver:AttributeDefinition>
- In attribute-filter.xml, release the email attribute:
<afp:AttributeFilterPolicy id="releaseTransientIdToAnyone">
<afp:PolicyRequirementRulexsi:type="basic:ANY"/>
<afp:AttributeRuleattributeID="email">
<afp:PermitValueRulexsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
- Restart the Shibboleth Server.
- You need to configure these endpoints in the Service Provider.
IDP Entity ID | https://<your_domain>/idp/shibboleth |
Single Login URL | https://<your_domain>/idp/profile/SAML2/Redirect/SSO |
X.509 Certificate | The public key certificate of your Shibboleth server |
You have successfully configured Shibboleth as SAML IDP (Identity Provider) for achieving Shibboleth-2 SSO login into your WordPress (WP) Site.
Step 2: Configure WordPress as SP (Service Provider)
In this Guide, you have successfully configured Shibboleth-2 SAML Single Sign-On (Shibboleth-2 SSO Login) choosing Shibboleth-2 as IdP and WordPress as SP using miniOrange plugin-SAML Single Sign On – SSO Login.This solution ensures that you are ready to roll out secure access to your WordPress (WP) site using Shibboleth-2 login credentials within minutes.