Um das Arbeiten mit AppsAnywhere zu vereinfachen, lässt sich ein Single-Sign-On-Anbieter (SSO) wie Authentik als Identity Provider (IdP) in AppsAnywhere (Service Provider = SP) integrieren. Die Konfiguration beginnt in Authentik mit der Definition des Property Mappings, welches das Attribut festlegt, das zur Identifikation des Benutzers verwendet werden soll. Einzige Grundvoraussetzung aufseiten von Authentik ist ein signiertes Zertifikat (z. B. Self-Signed), um die SAML-Kommunikation mit AppsAnywhere zu signieren.
1. Definition des Property Mappings
Unter Customization -> Property Mappings wird in Authentik ein neues „SAML Provider Property Mapping“ erstellt:
- Mapping Name: AAWAuthentikUsername
- SAML Attribute Name: username
- Expression: return user.email (Hinweis: Dieser Python-Befehl übergibt die E-Mail-Adresse des Users als Benutzernamen).

2. Anlage der Zertifikate und Schlüssel für AppsAnywhere
AppsAnywhere benötigt zwei Zertifikate, um mit Authentik kommunizieren zu können:
Ein signiertes Zertifikat (z. B. das Self-Signed-Zertifikat von authentik), um die eingehende Kommunikation vom Identity Provider zu verifizieren.

Ein Serverzertifikat inklusive privatem Schlüssel, mit dem sich der AppsAnywhere-Server selbst zu erkennen gibt.

3. Anlage des SAML-Providers in Authentik
Unter Applications -> Providers wird ein neuer SAML-Provider angelegt.
Hier besteht die klassische SAML-Herausforderung: Das Formular von AppsAnywhere setzt Daten aus Authentik voraus, während Authentik Endpunkte von AppsAnywhere verlangt. Da man das XML in AppsAnywhere erst exportieren kann, wenn alle Felder befüllt wurden, dient authentik als Startpunkt – vorerst mit temporären Platzhaltern:
- Name: SAML Provider_Appsanywhere
- ACS URL: https://www.WissenWirNicht.com (wird später ersetzt)
- Audience: https://www.WissenWirNicht.com (wird später ersetzt)
- SLS URL: https://www.WissenWirNicht.com (wird später ersetzt)
- Property Mappings: Das zuvor erstellte Mapping AAWAuthentikUsername auswählen.





4. Anlage der Applikation in Authentik
Da der Provider nun existiert, wird unter Applications -> Applications die zugehörige Applikation angelegt und verknüpft:
- Application Name: AppsAnywhere
- Slug: appsanywhere
- Provider: SAML Provider_Appsanywhere


5. Export der angelegten Daten aus Authentik
In der Detailansicht des fertiggestellten Providers in Authentik können nun die Metadaten für AppsAnywhere ausgelesen werden. Man benötigt folgende Werte:
- EntityID / Issuer: https://sso.software2eu.de/application/saml/appsanywhere/metadata/
- SAML Endpoint (SSO Path): /application/saml/appsanywhere/
- SSO URL (IdP-initiated Login): https://sso.software2eu.de/application/saml/appsanywhere/init/
- Des Weiteren lädt man hier das Signaturzertifikat (authentik Self-signed Certificate) herunter bzw. kopiert dessen Base64-Inhalt.
6. Konfiguration des AppsAnywhere SSO
In der Admin-Oberfläche von AppsAnywhere navigiert man zu den SSO-Einstellungen (SAML 2.0) und trägt die Daten ein:
- Service Provider Entity ID: https://appsanywhere.software2eu.de
- Identity Provider Entity ID: https://sso.software2eu.de/application/saml/appsanywhere/metadata/
- Authentication Base URL: https://sso.software2eu.de
- Single Sign-On Path: /application/saml/appsanywhere/
- Certificate (X.509): Den Textblock des authentik-Zertifikats einfügen.
- Attribute Mapping: Bei Domain das Attribut domain und bei Username, Unique ID und Principal Name jeweils das Attribut username festlegen.
Anschließend klickt man auf Speichern und exportiert über die Schaltfläche „Generate metadata“ die XML-Datei des Service Providers.




7. Komplettierung des SAML-Providers in authentik
Das exportierte XML von AppsAnywhere enthält nun die echten Endpunkte.

Aus dem XML extrahiert man die ACS URL, Audience und SLS URL.

Binding=“urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST“ Location=“https://appsanywhere.software2eu.de/sso/saml2/appsanywhere“/>
- ACS URL: https://appsanywhere.software2eu.de/sso/saml2/appsanywhere
- Audience: https://appsanywhere.software2eu.de/sso/saml2/appsanywhere
- SLS URL: https://appsanywhere.software2eu.de/sso/saml2/appsanywhere

Hintergrund:
Die ACS-URL (Assertion Consumer Service URL) ist die exakte Adresse, an die der Authentik-Server die Benutzerdaten nach einer erfolgreichen Anmeldung sendet.
Die Audience (Audience Restriction oder Entity ID) ist ein Feld innerhalb der SAML-Antwort, das genau definiert, für welche Anwendung das Token bestimmt ist. Sie dient als Sicherheitsprüfung, um sogenanntes „Token-Replay“ oder „Token-Hijacking“ zu verhindern. In der Welt von SAML und bei der Konfiguration von authentik steht der Begriff genannt für den identifizierbaren Namen des Service Providers.
Die SLS URL (Single Logout Service URL) ist die Adresse des Service Providers (der Anwendung, die du an authentik anbindest), an die authentik eine Logout-Anfrage sendet, wenn sich der Benutzer bei authentik abmeldet.
Nach dem Speichern ist der Handshake beidseitig gültig und das SSO einsatzbereit.


You must be logged in to post a comment.