EntraID SSO in Pangolin Community Edition
Wenn man die Community Edition von Pangolin selber hostet, muss man mit einigen Einschränkungen leben. Eine der Einschränkungen ist, dass die Identity-Provider Google und Microsoft 365 (respektive EntraID vormals AzureAD) nicht zur Verfügung stehen. Es können scheinbar nur generische OAuth2/OIDC IdPs wie z.B. Authentik, Keycloak oder Okta hinzugefügt werden. Da jedoch EntraID auch ein OAuth2/OIDC IdP ist, lässt sich dieser mit etwas Know-How auch in der Community Edition von Pangolin einrichten. Nachfolgend eine Anleitung dazu.
1. IDP in Pangolin anlegen
In der Server-Admin Umgebung (https://<Pangolin-Server-FQDN>/admin/idp) von Pangolin einen neuen Identity Proiver anlegen.

Den neu erstellten IdP passend benennen.

2. App in EntraID anlegen & Informationen zusammentragen
Im Microsoft Entra admin center (https://entra.microsoft.com) unter «App Registrations» mit einem Klick auf «New Registration» eine neue App Registrieren.

Die App aussagekräftig benennen. Das Feld «Redirect URI» noch frei lassen. Pangolin stellt diese URI erst nach der Erstellung des IDPs bereit.

Die Application-ID (resp. Client-ID) der App notieren. (Muss später bei Pangolin hinterlegt werden.)

App Secret erstellen und notieren (Muss später bei Pangolin hinterlegt werden.) Wichtig: Das Secret kann nur direkt nach der Erstellung kopiert werden. Das Ablaufdatum des Secrets sollte im Auge behalten werden. Nach dem Ablauf des Secrets wird die Authentifizierung nicht mehr funktionieren.

Nun wieder zu «Overview» wechseln und auf «Endpoints» klicken. Dort die URLs «OAuth 2.0 authorization endpoint (v2)» und «OAuth 2.0 token endpoint (v2)» notieren. (Muss später bei Pangolin hinterlegt werden.)
Grundsätzlich sind diese URLs wiefolgt aufgebaut:
# OAuth 2.0 authorization endpoint (v2):
https://login.microsoftonline.com/<Directory (tenant) ID>/oauth2/v2.0/authorize
# OAuth 2.0 token endpoint (v2):
https://login.microsoftonline.com/<Directory (tenant) ID>/oauth2/v2.0/token
3. OAuth2 Infos in Pangolin hinterlegen
Client Id und Client Secret aus Schritt 2 übertragen. Als «Authentication URL» «OAuth 2.0 authorization endpoint (v2)» aus Schritt 2 verwenden. Als «Token URL» den «OAuth 2.0 token endpoint (v2)» aus Schritt 2 hinterlegen.

Den IdP mit einem Klick auf «Create Identity Provider» anlegen. Nach dem Erstellen des IdPs wird oben im Bereich «General» die «Redirect URL» angegeben. Diese ist wie folgt aufgebaut:
https://<Pangolin-Server-FQDN>/auth/idp/<Pangolin-IdP-ID>/oidc/callback
4. Redirect URL bei EntraID App hinterlegen
Im Overview der App-Registration rechts bei «Redirect URIs» auf «Add a Redirect URI» klicken.

Auf der sich öffnenden Seite auf «Add Redirect URI» klicken und dann «Web» auswählen.

Die «Redirect URL» aus Schritt 3 als «Redirect URI» einfügen und speichern.

5. Auto Provision Users konfigurieren
Wenn in den IdP Einstellungen in Pangolin «Auto Provision Users» aktiviert ist, können im Tab «Auto Provision Settings» Policies erstellt welche Benutzer an Organisationen und Rollen zuweisen. Dieses Feature sollte relativ selbsterklärend sein.
6. Funktion testen
Im Inkognito-Modus Pangolin ansurfen. Unterhalb der Loginmaske erscheint nun ein weiterer Button für den OAuth SSO.

Beim ersten Login muss der Benutzer kurz die App akzeptieren. Admin-Rechte resp. die Zustimmung im Namen der Organisation sind nicht erforderlich.





