Skip to content

Commit 0d10e14

Browse files
Copilotsandhose
andcommitted
Add Shibboleth sample configuration to SSO documentation
Co-authored-by: sandhose <[email protected]>
1 parent 275a374 commit 0d10e14

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

docs/setup/sso.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,3 +601,51 @@ To use a Rauthy-supported [Ephemeral Client](https://sebadob.github.io/rauthy/wo
601601
"id_token_signed_response_alg": "RS256"
602602
}
603603
```
604+
605+
606+
### Shibboleth
607+
608+
[Shibboleth](https://www.shibboleth.net/) is an open-source identity management system commonly used by universities and research institutions.
609+
It is primarily based on SAML but also supports OIDC via the [OIDC OP Plugin](https://shibboleth.atlassian.net/wiki/spaces/IDPPLUGINS/pages/1376878976/OIDC+OP).
610+
611+
These instructions assume you have a running Shibboleth instance with the OIDC plugin configured.
612+
613+
Register MAS as a relying party in Shibboleth:
614+
615+
1. Add a metadata file to `%{idp.home}/metadata/` (see the [Shibboleth documentation](https://shibboleth.atlassian.net/wiki/spaces/SC/pages/1912406916/OAuthRPMetadataProfile) for the template).
616+
617+
Adjust the following in the metadata file:
618+
- Client ID: `entityID="<client-id>"`
619+
- Client Secret: `<oidcmd:ClientSecret><client-secret></oidcmd:ClientSecret>`
620+
- Redirect URI: `Location="https://<auth-service-domain>/upstream/callback/<id>"`
621+
- Scope: `scopes="openid profile email"`
622+
623+
2. Reference the metadata file in `%{idp.home}/conf/metadata-providers.xml` and reload services.
624+
625+
Authentication service configuration:
626+
627+
```yaml
628+
upstream_oauth2:
629+
providers:
630+
- id: 01JB6YS8N7Q2ZM9CPXW6V0KGRT
631+
human_name: Shibboleth
632+
issuer: "https://<shibboleth-domain>/" # TO BE FILLED
633+
client_id: "<client-id>" # TO BE FILLED
634+
client_secret: "<client-secret>" # TO BE FILLED
635+
token_endpoint_auth_method: client_secret_basic
636+
scope: "openid profile email"
637+
discovery_mode: insecure
638+
fetch_userinfo: true
639+
userinfo_endpoint: "https://<shibboleth-domain>/idp/profile/oidc/userinfo" # TO BE FILLED, check your /.well-known/openid-configuration
640+
claims_imports:
641+
localpart:
642+
action: require
643+
template: "{{ user.preferred_username }}"
644+
displayname:
645+
action: suggest
646+
template: "{{ user.name }}"
647+
email:
648+
action: suggest
649+
template: "{{ user.email }}"
650+
set_email_verification: always
651+
```

0 commit comments

Comments
 (0)