Moodle SAML Single Sign-On (SSO) med Shibboleth-2 som IdP | Shibboleth-2 SSO-inloggning
Översikt
SAML Single Sign-On (SSO) för din Moodle-webbplats kan uppnås med vår miniOrange SAML SSO-plugin. Vårt plugin är kompatibelt med alla SAML-kompatibla identitetsleverantörer. Här kommer vi att gå igenom en steg-för-steg-guide för att konfigurera Single Sign-On (SSO) mellan Shibboleth-2 som identitetsleverantör (IdP) och Moodle som tjänsteleverantör (SP).
Förutsättningar: Ladda ner och installation
För att konfigurera Shibboleth-2 som IdP med Moodle måste du installera miniOrange Moodle SAML 2.0 SSO plugin
Konfigurationssteg
1. Ställ in Shibboleth-2 som IdP
Följ stegen nedan för att konfigurera Shibboleth-2 som en identitetsleverantör:
Konfigurera Shibboleth-2 som IdP
- I Insticksprogram flik bläddra till Tjänsteleverantörens metadata avsnitt kan du hitta SP-metadata som t.ex SP Entity-ID och
ACS (AssertionConsumerService) URL som krävs för att konfigurera identitetsleverantören.
- I conf/relying-party.xml, konfigurera tjänsteleverantören så här
<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>
- Se till att din Shibboleth-server skickar E-postadress av användaren i
Namn ID. I attribute-resolver.xml hämtar du e-postattributet som 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>
- Släpp e-postattributet i attribute-filter.xml:
<afp:AttributeFilterPolicy id="releaseTransientIdToAnyone">
<afp:PolicyRequirementRulexsi:type="basic:ANY"/>
<afp:AttributeRuleattributeID="email">
<afp:PermitValueRulexsi:type="basic:ANY"/>
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
- Starta om Shibboleth-servern.
- Du måste konfigurera dessa slutpunkter i tjänsteleverantören.
| IDP-enhets-ID |
https://<your_domain>/idp/shibboleth |
| URL för enkel inloggning |
https://<your_domain>/idp/profile/SAML2/Redirect/SSO |
| X.509-certifikat |
Det offentliga nyckelcertifikatet för din Shibboleth-server |
2. Konfigurera Moodle som SP (tjänsteleverantör)
I miniOrange SAML SSO-pluginet går du till fliken Plugins . Det finns två sätt att konfigurera pluginet:
S. Genom att ladda upp IDP-metadata:
- Ange IDP-namn.
- I Konfiguration av tjänsteleverantör avsnittet välj Metadata URL/XML från Välj metod falla ner.
- Kopiera och klistra in IdP-metadata-URL eller XML-fil IDP Metadata URL/XML Inmatningsområde.
- Klicka på Klicka här för att testa konfigurationen.
B. Manuell konfiguration:
- Ange de nödvändiga inställningarna (dvs. IDP-namn, IDP-enhets-ID eller utfärdare, SAML-inloggnings-URL, X.509-certifikat) som tillhandahålls av din Identitetsleverantör.
- Klicka på Klicka här för att testa konfigurationen.
Steg 3: Attributmappning
- När användaren utför SSO skickas NameID-värdet av identitetsleverantören. Detta värde är unikt för varje användare.
- För att plugin-programmet ska få åtkomst till dessa attribut, tilldela värdena för Användarnamn och E-post as Namn-ID.
I miniOrange SAML SSO-pluginet, skrolla ner till avsnittet Tjänstleverantörsinställningar i pluginet. Det finns två sätt att konfigurera pluginet:
S. Genom att ladda upp IDP-metadata:
- Ange vilket IDP-namn som helst. Till exempel, my_IDP.
- Välj värdet på Välj metod som Metadata URL/XML från rullgardinsmenyn.
- Ange Metadata URL som
https://hyresgäst-namn.b2clogin.com/hyresgäst-namn.onmicrosoft.com/B2C_1A_signup_signin_saml/Samlp/metadata
Obs! Du måste ersätta klientnamnet i URL:en ovan med Azure B2C-klientnamnet.
- Bläddra till botten och klicka på Spara ändringar knapp.
B. Manuell konfiguration:
- Ange de nödvändiga inställningarna (t.ex. identitetsleverantörens namn, IdP-enhets-ID eller utfärdare, SAML-inloggnings-URL, X.509-certifikat) som tillhandahålls av ditt Identitetsleverantör.
- Klicka på Spara ändringar för att spara din konfiguration.
Steg 3: Attributmappning
Grundläggande attributmappning
- När användaren utför SSO skickas NameID-värdet av identitetsleverantören. Detta värde är unikt för varje användare.
- För att plugin ska få tillgång till dessa attribut, tilldela E-post och Användarnamn attribut.
- Dessutom kan användarattribut mappas (som t.ex Förnamn och Efternamn).
- Klicka på Spara ändringar för att spara din konfiguration.
Anpassad attributmappning
Den här funktionen låter dig mappa anpassade attribut som skickas av IDP till Moodle-attributen.
- För att skapa ett anpassat attribut, navigera till Webbplatsadministration >> Användare >> Användarprofilfält i plugin-programmet.
- Klicka på Skapa ett nytt profilfält , välj typ av attribut från rullgardinsmenyn och ange värdena i obligatoriska fält.
- Tilldela önskat värde till det skapade anpassade attributet.
- Bläddra ner och klicka på Spara ändringar för att spara dina konfigurationer.
Steg 4: Rollkartläggning
- I det kostnadsfria pluginet kan du välja en standardroll som kommer att tilldelas alla icke-adminanvändare när de utför SSO.
Obs: Roller kommer att tilldelas nya användare som skapats av SSO. Befintliga Moodle-användares roller kommer inte att påverkas.
- Bläddra ner till Rollkartläggning sektion.
- Välj standardrollen och klicka på Spara ändringar för att spara din konfiguration.
Steg 4: Rollkartläggning
Den här funktionen låter dig tilldela och hantera roller för användarna när de utför SSO. Tillsammans med Moodle-standardrollerna är detta också kompatibelt med alla anpassade roller.
- Grupp/roll attribut kommer att tillhandahålla en mappning för fältnamnet som innehåller rollrelaterad information som skickas av IDP och kommer att användas för rollmappning.
- Bläddra till Rollkartläggning avsnitt och tillhandahålla mappningarna för respektive roller.
- Välj Standardroll från rullgardinsmenyn om användarrollen inte matchar de tilldelade värdena.
- Till exempel om du har en användare vars Grupp/roll attributvärdet är idp-teacher och du vill tilldela det till lärargruppen, ange bara idp-teacher i Lärare: fältet i avsnittet Rollmappning.
Obs: Du kan tilldela flera värden separerade med semikolon (;).
- Klicka på Spara ändringar för att spara dina konfigurationer.
Steg 5: SSO-inställningar
- I plugin-programmet kan du lägga till en inloggningswidget för att aktivera SP-initierad SSO på din webbplats.
- Gå till Plugins >> Autentisering >> Hantera autentisering.
- Klicka på för att aktivera pluginens synlighet.
- Klicka på ⬆ för att ställa in plugin-preferenser.
Steg 5: SSO-inställningar
I pluginet kan du lägga till en inloggningswidget för att aktivera SP-initierad SSO på din webbplats.
- Navigera till Webbplatsadministratör >> Plugins >> Hantera autentisering.
- Klicka på för att aktivera pluginens synlighet.
- Klicka på ⬆ för att ställa in plugin-preferenser.
- För att aktivera automatisk omdirigering från Moodles inloggningssida till WordPress-webbplatsen .
- Välja Ja värde från rullgardinsmenyn för Aktivera automatisk omdirigering till IDP från Moodles inloggningssida fält.
- Anteckna Bakdörrs-URL det kommer att vara användbart när SSO misslyckas.
- Klicka på Spara ändringar för att spara din konfiguration.
Du har framgångsrikt konfigurerat Moodle som SAML SP för att uppnå Shibboleth-2 SSO-inloggning på din Moodle-webbplats.
Relaterade artiklar