Integration eines O-Profil-Verfahrens

Der USP Identity Provider (IdP) ist auf Basis von Keycloak umgesetzt und unterstützt alle gängigen OpenID-Connect-(OIDC)-Client-Konfigurationen. Für jede Stage der anzubindenden Anwendung wird im USP ein eigener OIDC-Client eingerichtet. Im Zuge des Anmeldevorgangs prüft das USP, ob die angemeldete Person über die erforderlichen Berechtigungen für den jeweiligen Client verfügt.

Login über das O-Profil

Ablauf eines Logins

  1. Die Benutzerin bzw. der Benutzer startet die Anmeldung, indem das Verfahren über den entsprechenden Link auf mein.usp.gv.at aufgerufen wird.
  2. Die Anwendung erkennt, dass es sich um einen Login über das USP handelt und leitet die Benutzerin bzw. den Benutzer unter Angabe der Client‑ID und der gewünschten Redirect‑URI zum Authentifizierungs-Endpunkt des USP‑IdPs weiter.
  3. Falls noch keine aktive Session besteht, erfolgt die Anmeldung beim USP. 
  4. Anschließend wird die Benutzerin bzw. der Benutzer zur angegebenen Redirect‑URI der Anwendung zurückgeleitet, die den Authorization Code entgegennimmt.
  5. Das Verfahren tauscht den Authorization Code gemeinsam mit dem Client‑Secret über den Backchannel gegen Identity‑, Access‑ und Refresh‑Tokens (JWT) beim USP‑IdP aus.

Benötigte Informationen

OIDC-Endpunkte USP IdPhttps://sso.usp.gv.at/realms/usp-clients/.wellknown/
openid-configuration
Client-IDWird vom Verfahrenspartner oder vom USP vergeben.
Client-SecretWird vom USP ausgestellt.
Redirect-URIsWerden vom Verfahrenspartner bereitgestellt.

Logout über das O-Profil

Backchannel-Logout (Standard)

In der Regel wird die Abmeldung am USP als Backchannel-Logout durchgeführt. Der Ablauf ist stellt sich wie folgt dar:

  1. Das Verfahren ruft den Logout-Endpunkt des USP‑IdPs mit dem Identity Token und der gewünschten Post‑Logout Redirect‑URI auf.
  2. Der USP‑IdP beendet die Session der Benutzerin bzw. des Benutzers und sendet anschließend einen POST‑Request an den vom Verfahren bereitgestellten Backchannel‑Logout‑Endpunkt, der die Session‑ID und die User‑ID enthält.
  3. Nachdem der USP-IdP alle betroffenen Clients mit aktiver Session informiert hat, wird der Benutzer auf die Post‑Logout Redirect‑URI weitergeleitet.

Sowohl die Backchannel-Logout-URL als auch die Post-Logout-Redirect-URI sind vom Verfahrenspartner bekanntzugeben.

Achtung

Sofern auf Verfahrensseite eine IP-Whitelist konfiguriert ist, muss die NAT-IP-Adresse des BRZ dort eingetragen werden. Die entsprechende IP-Adresse wird auf Anfrage im Zuge des Anbindungsprozesses mitgeteilt.

Frontchannel-Logout (Fallback-Verfahren)

In Ausnahmefällen kann der Logout alternativ über den Frontchannel erfolgen. Der Ablauf stellt sich wie folgt dar:

  1. Das Verfahren ruft den Logout-Endpunkt des USP‑IdPs erneut mit dem Identity Token und der gewünschten Post‑Logout Redirect‑URI auf.
  2. Der USP‑IdP zeigt eine interne Seite an, die die Frontchannel‑Logout‑Seite des Verfahrens als iFrame einbindet.
  3. Nachdem der USP-IdP alle betroffenen Clients mit aktiver Session informiert hat, wird die Benutzerin bzw. der Benutzer auf die Post‑Logout Redirect‑URI weitergeleitet.

Attribute im O-Profil

Alle Attribute werden als Claims in JSON Web Tokens (JWT) an Ihr Verfahren übermittelt.

Friendly NameClaimBeispielwert
PVP-VERSIONurn:pvpgvat:oidc.pvp_version2.3
PARTICIPANT-IDurn:pvpgvat:oidc.participant_idAT:B:115-USP
EID-CITIZEN-QAA-EIDAS-LEVELurn:pvpgvat:oidc.eid_citizen_qaa_eidas_levelhttp://eidas.europa.eu/LoA/high
EID-SIGNER-CERTIFICATEurn:pvpgvat:oidc.eid_signer_certificateMIIDXT…ZZKJEQxg==
EID-ISSUING-NATIONurn:pvpgvat:oidc.eid_issuing_nationAT
SECCLASSurn:pvpgvat:oidc.secclass2
ROLESurn:pvpgvat:oidc.rolesXYZ_Benutzer();XYZ_Admin()
ENC-BPK-LISTurn:pvpgvat:oidc.enc_bpk_list(bpkBereich1|bpkValue1);(bpkBereich2|bpkVal
ue2)...
PRINCIPAL-NAMEfamily_nameXXXUSP1 Törőcsik
GIVEN-NAMEgiven_nameXXXUSP1 Ĥáčęk
BIRTHDATEbirthdate1972-02-13
PERSON-COUNTRY-CODEurn:uspgvat:country_codeÖsterreich
PERSON-ZIPpostal_code1030
PERSON-CITYlocalityWien
PERSON-STREETstreet_addressLandstrasse
PERSON-HOUSE-NUMBERurn:uspgvat:house_number1A-2B
USERIDurn:pvpgvat:oidc.userid507639@usp.gv.at
GIDurn:pvpgvat:oidc.gid507639@usp.gv.at
MAILurn:uspgvat:mailmustermann@example.com
OUurn:pvpgvat:oidc.ouUSP-Betrieb Testunternehmen
OU-GV-OU-IDurn:pvpgvat:oidc.ou_gv_ou_idR057I054T
ENTERPRISE-KEYSurn:uspgvat:enterprise_keysRF#GESMBH;FB#123456m;EO#ATEOS9999
012663;SE#9110050065181
ENTERPRISE-SUB-IDSurn:uspgvat:enterprise_sub_ids{\"SID\":[\"1234567064\"],\"KWT\":[\"99037703\
"]}
ENTERPRISE-COUNTRY-CODEurn:uspgvat:enterprise_country_codeAT
ENTERPRISE-ZIPurn:uspgvat:enterprise_postal_code1020
ENTERPRISE-CITYurn:uspgvat:enterprise_localityTestgemeinde
ENTERPRISE-STREETurn:uspgvat:enterprise_street_addressTestgasse
ENTERPRISE-HOUSE-NUMBERurn:uspgvat:enterprise_house_number2A-2B
ENTERPRISE-ECONOMIC-ACTIVITY-TYPEurn:uspgvat:enterprise_economic_activity_typeH
ENTERPRISE-ECONOMIC-ACTIVITY-CODEurn:uspgvat:enterprise_economic_activity_code62030
ENTERPRISE-ECONOMIC-ACTIVITY-YEARurn:uspgvat:enterprise_economic_activity_year2025