Skip to content

Commit 5490085

Browse files
website/docs/social-logins: add shibboleth integration guide (#19909)
* docs/social-logins: add shibboleth integration guide * Update website/docs/users-sources/sources/social-logins/shibboleth/index.md Co-authored-by: Dewi Roberts <[email protected]> Signed-off-by: Connor Peshek <[email protected]> * Update website/docs/users-sources/sources/social-logins/shibboleth/index.md Co-authored-by: Dewi Roberts <[email protected]> Signed-off-by: Connor Peshek <[email protected]> * Update website/docs/users-sources/sources/social-logins/shibboleth/index.md Co-authored-by: Dewi Roberts <[email protected]> Signed-off-by: Connor Peshek <[email protected]> * Update website/docs/users-sources/sources/social-logins/shibboleth/index.md Co-authored-by: Dewi Roberts <[email protected]> Signed-off-by: Connor Peshek <[email protected]> * add to sidebar * Update website/docs/users-sources/sources/social-logins/shibboleth/index.md Co-authored-by: Dewi Roberts <[email protected]> Signed-off-by: Connor Peshek <[email protected]> * lint * Apply suggestion from @PeshekDotDev Signed-off-by: Connor Peshek <[email protected]> * Apply suggestion from @PeshekDotDev Signed-off-by: Connor Peshek <[email protected]> --------- Signed-off-by: Connor Peshek <[email protected]> Co-authored-by: Dewi Roberts <[email protected]>
1 parent 9693eed commit 5490085

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed

website/docs/sidebar.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,7 @@ const items = [
617617
},
618618
"users-sources/sources/social-logins/mailcow/index",
619619
"users-sources/sources/social-logins/plex/index",
620+
"users-sources/sources/social-logins/shibboleth/index",
620621
"users-sources/sources/social-logins/telegram/index",
621622
"users-sources/sources/social-logins/twitch/index",
622623
"users-sources/sources/social-logins/twitter/index",
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: Shibboleth
3+
tags:
4+
- source
5+
- shibboleth
6+
- saml
7+
---
8+
9+
Allows users to authenticate using their [Shibboleth](https://www.shibboleth.net/about-us/the-shibboleth-project/) credentials by configuring Shibboleth as a federated identity provider via SAML.
10+
11+
## Preparation
12+
13+
The following placeholders are used in this guide:
14+
15+
- `authentik.company` is the FQDN of the authentik installation.
16+
- `shibboleth.company` is the FQDN of the Shibboleth IdP installation.
17+
- `shibboleth-slug` is the slug you will assign to the SAML source in authentik (e.g., `shibboleth`).
18+
19+
## authentik configuration
20+
21+
To integrate Shibboleth with authentik you will need to create a SAML source in authentik.
22+
23+
### Create a SAML source in authentik
24+
25+
1. Log in to authentik as an administrator and open the authentik Admin interface.
26+
2. Navigate to **Directory** > **Federation and Social login** and click **Create**.
27+
3. Select **SAML Source** and configure the following settings:
28+
- Set **Name** to `Shibboleth`.
29+
- Set **Slug** to `shibboleth` (this sets the slug used in Shibboleth's metadata url).
30+
- Set **SSO URL** to `https://shibboleth.company/idp/profile/SAML2/Redirect/SSO`.
31+
- Set **Binding Type** to `Redirect`.
32+
- Set **Issuer** to `https://authentik.company/source/saml/<shibboleth-slug>/metadata/`.
33+
- Set **NameID Policy** to `Transient`.
34+
:::warning NameID Policy
35+
Shibboleth supports the `Transient` NameID by default. You will need to reconfigure Shibboleth to use other NameIDs.
36+
:::
37+
- Set **Signing Keypair** to an authentik certificate (e.g., the default `authentik Self-signed Certificate`).
38+
- Set **Encryption Certificate** to an authentik certificate (e.g., the default `authentik Self-signed Certificate`).
39+
4. Click **Finish**.
40+
41+
:::info Display new source on login screen
42+
For instructions on how to display the new source on the authentik login page, refer to the [Add sources to default login page documentation](../../index.md#add-sources-to-default-login-page).
43+
:::
44+
45+
:::info Embed new source in flow :ak-enterprise
46+
For instructions on embedding the new source within a flow, such as an authorization flow, refer to the [Source Stage documentation](../../../../../add-secure-apps/flows-stages/stages/source).
47+
:::
48+
49+
## Shibboleth configuration
50+
51+
To integrate Shibboleth with authentik you will need to add authentik as a service provider in your Shibboleth IdP.
52+
53+
### Add authentik as a Service Provider
54+
55+
1. Edit `/opt/shibboleth-idp/conf/metadata-providers.xml` on the Shibboleth IdP server.
56+
2. Add the following `MetadataProvider` element before the final closing tag of the existing `MetadataProvider` block:
57+
58+
```xml
59+
<MetadataProvider id="Authentik"
60+
xsi:type="FileBackedHTTPMetadataProvider"
61+
backingFile="%{idp.home}/metadata/authentik-metadata.xml"
62+
metadataURL="https://authentik.company/source/saml/<shibboleth-slug>/metadata/" />
63+
```
64+
65+
3. Restart the Shibboleth IdP to apply the changes.
66+
67+
## Source property mappings
68+
69+
Source property mappings allow you to modify or gather extra information from sources. See the [overview](../../property-mappings/index.md) for more information.
70+
71+
## Resources
72+
73+
- [Shibboleth IdP Documentation](https://shibboleth.atlassian.net/wiki/spaces/IDP5/overview)

0 commit comments

Comments
 (0)