Integration eines S-Profil-Verfahrens
Der USP Identity Provider (USP‑IdP) ist auf Basis von Keycloak implementiert und unterstützt alle gängigen SAML‑Client‑Konfigurationen, mit Ausnahme des des Artifact‑Bindings. Für jede Stage der anzubindenden Anwendung wird im USP ein eigener SAML‑Client mit einer eindeutigen EntityID eingerichtet. Dadurch kann der USP‑IdP eingehende SAML‑Requests eindeutig dem richtigen Verfahren zuordnen. Darüber hinaus prüft der USP‑IdP bei jeder Anmeldung, ob die angemeldete Person über die erforderlichen Berechtigungen für das jeweilige Verfahren verfügt.
Je nach Art der Übermittlung von SAML‑Requests und ‑Responses unterscheidet der USP‑IdP zwischen zwei Binding‑Typen:
- Redirect Binding: Requests und Responses werden als URL‑Parameter innerhalb eines Redirects zwischen Verfahren und USP‑IdP übertragen.
- POST Binding: Verfahren und USP-IdP stellen jeweils eine Seite mit einem HTML‑Formular bereit. Request bzw. Response werden per POST‑Request an den SAML‑Endpunkt der jeweils anderen Partei übermittelt.
Login über das S-Profil
Der USP‑IdP unterstützt sowohl Service‑Provider‑(SP‑)initiierte als auch IdP‑initiierte Logins.
Ablauf eines SP-initiated Login
- Die Benutzerin bzw. der Benutzer startet die Anmeldung, indem das Verfahren über den entsprechenden Link auf mein.usp.gv.at aufgerufen wird.
- Die Anwendung erkennt, dass es sich um einen Login über das USP handelt, und sendet einen signierten SAMLRequest an den SAML‑Endpunkt des USP‑IdP. Dieser Request enthält die EntityID des Verfahrens.
- Falls noch keine aktive Session besteht, wird die Benutzerin bzw. der Benutzer zur Anmeldung beim USP aufgefordert.
- Anschließend wird die Benutzerin bzw. der Benutzer zurück zum Verfahren geleitet.
- Gleichzeitig übermittelt der USP‑IdP eine signierte und verschlüsselte SAMLResponse über den Frontchannel an den Assertion Consumer Service (ACS) des Verfahrens.
Ablauf eines IdP-initiated Login
- Die Benutzerin bzw. der Benutzer öffnet den verfahrensspezifischen Link über die auf mein.usp.gv.at.
- Der USP‑IdP erkennt anhand des aufgerufenen Links, dass der Login für das jeweilige Verfahren durchzuführen ist.
- Sofern noch keine aktive USP‑Session besteht, erfolgt zunächst die Anmeldung beim USP.
- Anschließend wird die Benutzerin bzw. der Benutzer zurück zum Verfahren geleitet. Der USP‑IdP sendet dabei eine signierte und verschlüsselte SAMLResponse über den Frontchannel an den ACS des Verfahrens.
Erforderliche Informationen
| SAML-Descriptor des USP-IdP | https://sso.usp.gv.at/realms/uspclients/ protocol/saml/descriptor |
|---|---|
| Informationen zu Ihrem Verfahren | Idealerweise SAML-Descriptor, sonst: EntityID, ACS-Endpoint, verwendetes Binding |
| Zertifikate | Signing-Zertifikat Encryption-Zertifikat |
Logout über das S-Profil
Ablauf
- Die Benutzerin bzw. der Benutzer startet die Abmeldung über den Logout-Endpunkt des Verfahrens, das erkennt, dass eine USP‑Abmeldung erforderlich ist.
- Das Verfahren leitet die Benutzerin bzw. den Benutzer an den SAML‑Endpunkt des USP‑IdP weiter und übermittelt einen signierten Logout-Request mit seiner EntityID.
- Der USP‑IdP leitet den Benutzer anschließend zum Single Logout Service (SLS) des
Verfahrens zurück und übermittelt die Logout-Response.
Erforderliche Informationen
Sofern der Single Logout Service (SLS) nicht bereits im SAML‑Descriptor des Verfahrens enthalten ist, sind SLS‑Endpunkt und verwendetes Binding gesondert bekanntzugeben.
Attribute im S-Profil
Alle Attribute werden verschlüsselt als SAML‑Assertion an das Verfahren übermittelt.
| Friendly Name | SAML Attribut | Beispielwert |
|---|---|---|
| PVP-VERSION | urn:oid:1.2.40.0.10.2.1.1.261.10 | 2.3 |
| PARTICIPANT-ID | urn:oid:1.2.40.0.10.2.1.1.71 | AT:B:115-USP |
| EID-CITIZEN-QAA-EIDAS-LEVEL | urn:oid:1.2.40.0.10.2.1.1.261.108 | http://eidas.europa.eu/LoA/high |
| EID-SIGNER-CERTIFICATE | urn:oid:1.2.40.0.10.2.1.1.261.66 | MIIDXT…ZZKJEQxg== |
| EID-ISSUING-NATION | urn:oid:1.2.40.0.10.2.1.1.261.32 | AT |
| SECCLASS | urn:oid:1.2.40.0.10.2.1.1.261.110 | 2 |
| ROLES | urn:oid:1.2.40.0.10.2.1.1.261.30 | XYZ_Benutzer();XYZ_Admin() |
| ENC-BPK-LIST | urn:oid:1.2.40.0.10.2.1.1.261.22 | (bpkBereich1|bpkValue1);(bpkBereich2|bpkVal ue2)... |
| PRINCIPAL-NAME | urn:oid:1.2.40.0.10.2.1.1.261.20 | XXXUSP1 Törőcsik |
| GIVEN-NAME | urn:oid:2.5.4.42 | XXXUSP1 Ĥáčęk |
| BIRTHDATE | urn:oid:1.2.40.0.10.2.1.1.55 | 1972-02-13 |
| PERSON-COUNTRY-CODE | urn:uspgvat:country-code | Österreich |
| PERSON-ZIP | urn:uspgvat:postal-code | 1030 |
| PERSON-CITY | urn:uspgvat:locality | Wien |
| PERSON-STREET | urn:uspgvat:street-address | Landstrasse |
| PERSON-HOUSE-NUMBER | urn:uspgvat:house-number | 1A-2B |
| USERID | urn:oid:0.9.2342.19200300.100.1.1 | 507639@usp.gv.at |
| GID | urn:oid:1.2.40.0.10.2.1.1.1 | 507639@usp.gv.at |
| urn:uspgvat:mail | mustermann@example.com | |
| OU | urn:oid:2.5.4.11 | USP-Betrieb Testunternehmen |
| OU-GV-OU-ID | urn:oid:1.2.40.0.10.2.1.1.3 | R057I054T |
| ENTERPRISE-KEYS | urn:uspgvat:enterprise-keys | RF#GESMBH;FB#123456m;EO#ATEOS9999 012663;SE#9110050065181 |
| ENTERPRISE-SUB-IDS | urn:uspgvat:enterprise-sub-ids | {\"SID\":[\"1234567064\"],\"KWT\":[\"99037703\ "]} |
| ENTERPRISE-COUNTRY-CODE | urn:uspgvat:enterprise-country-code | AT |
| ENTERPRISE-ZIP | urn:uspgvat:enterprise-postal-code | 1020 |
| ENTERPRISE-CITY | urn:uspgvat:enterprise-locality | Testgemeinde |
| ENTERPRISE-STREET | urn:uspgvat:enterprise-street-address | Testgasse |
| ENTERPRISE-HOUSE-NUMBER | urn:uspgvat:enterprise-house-number | 2A-2B |
| ENTERPRISE-ECONOMIC-ACTIVITY-TYPE | urn:uspgvat:enterprise-economic-activity-type | H |
| ENTERPRISE-ECONOMIC-ACTIVITY-CODE | urn:uspgvat:enterprise-economic-activity-code | 62030 |
| ENTERPRISE-ECONOMIC-ACTIVITY-YEAR | urn:uspgvat:enterprise-economic-activity-year | 2025 |