Umgebungen
Die gematik bietet eine rudimentäre Implementierung eines sektoralen IDP an. Der gematik-eigene sektorale IDP implementiert spezifikationskonform alle geforderten Schnittstellen. Zu Testzwecken können laufende Instanzen des sektoralen IDP der gematik angesprochen werden. Ebenso ist es möglich, den gematik-eigenen sektoralen IDP lokal zu betreiben.
In folgenden Umgebungen sind laufende Instanzen des sektoralen IDP der gematik erreichbar:
Umgebung | URL "issuer" | URL Entity Statement |
---|---|---|
TU Internet | https://gsi.dev.gematik.solutions | https://gsi.dev.gematik.solutions/.well-known/openid-federation |
Download vom GitHub
Der sektorale IDP der gematik ist im GitHub verfügbar - https://github.com/gematik/app-gemSekIdp. Damit ist es möglich, den sektoralen IDP der gematik in der lokalen Umgebung zu bauen und zu betreiben.
Abholen Entity Statement
Das Entity Statement der Referenzimplementierung "gematik sektoraler IDP" kann z.B. über den Browser durch Aufruf der Schnittstelle https://gsi.dev.gematik.solutions/.well-known/openid-federation erfolgen. Das signierte JWT sieht in etwa so aus
Header: eyJhbGciOiJFUzI1NiIsInR5cCI6ImVudGl0eS1zdGF0ZW1lbnQrand0Iiwia2lkIjoicHVrX2lkcF9zaWcifQ
Payload: eyJpc3MiOiJodHRwczovL2FwcC1yZWYuZmVkZXJhdGlvbm1hc3Rlci5kZSIsInN1YiI6Imh0dHBzOi8vYXBwLXJlZi5mZWRlcmF0aW9ubWFzdGVyLmRlIiwiaWF0IjoxNjc5OTk2MDYzLCJleHAiOjE2ODAwODI0NjMsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJjZElSOGRMYnFhR3J6Zmd5dTM2NUeyJpc3MiOiJodHRwczovL2dzaS5kZXYuZ2VtYXRpay5zb2x1dGlvbnMiLCJzdWIiOiJodHRwczovL2dzaS5kZXYuZ2VtYXRpay5zb2x1dGlvbnMiLCJpYXQiOjE2OTE1NzUyMDgsImV4cCI6MTY5MjE4MDAwOCwiandrcyI6eyJrZXlzIjpbeyJ1c2UiOiJzaWciLCJraWQiOiJwdWtfaWRwX3NpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiQWJ0MlV5cms2S2hjemV4bEJPd0pPVHNfZUIwRHNGYmNOeGF4YTBaMHZkNCIsInkiOiJZWktCSnRPVVlFV1RNa256RndCZGwtNnRWS3lXblVEdHhmMnEwcFNUNVg0In1dfSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHBzOi8vYXBwLXRlc3QuZmVkZXJhdGlvbm1hc3Rlci5kZSJdLCJtZXRhZGF0YSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsiaXNzdWVyIjoiaHR0cHM6Ly9nc2kuZGV2LmdlbWF0aWsuc29sdXRpb25zIiwic2lnbmVkX2p3a3NfdXJpIjoiaHR0cHM6Ly9nc2kuZGV2LmdlbWF0aWsuc29sdXRpb25zL2p3cy5qc29uIiwib3JnYW5pemF0aW9uX25hbWUiOiJnZW1hdGlrIHNla3RvcmFsZXIgSURQIiwibG9nb191cmkiOiJodHRwczovL2dzaS5kZXYuZ2VtYXRpay5zb2x1dGlvbnMvbm9Mb2dvWWV0IiwiYXV0aG9yaXphdGlvbl9lbmRwb2ludCI6Imh0dHBzOi8vZ3NpLmRldi5nZW1hdGlrLnNvbHV0aW9ucy9hdXRoIiwidG9rZW5fZW5kcG9pbnQiOiJodHRwczovL2dzaS5kZXYuZ2VtYXRpay5zb2x1dGlvbnMvdG9rZW4iLCJwdXNoZWRfYXV0aG9yaXphdGlvbl9yZXF1ZXN0X2VuZHBvaW50IjoiaHR0cHM6Ly9nc2kuZGV2LmdlbWF0aWsuc29sdXRpb25zL1BBUl9BdXRoIiwiY2xpZW50X3JlZ2lzdHJhdGlvbl90eXBlc19zdXBwb3J0ZWQiOlsiYXV0b21hdGljIl0sInN1YmplY3RfdHlwZXNfc3VwcG9ydGVkIjpbInBhaXJ3aXNlIl0sInJlc3BvbnNlX3R5cGVzX3N1cHBvcnRlZCI6WyJjb2RlIl0sInNjb3Blc19zdXBwb3J0ZWQiOlsidXJuOnRlbGVtYXRpazplbWFpbCIsInVybjp0ZWxlbWF0aWs6dmVyc2ljaGVydGVyIiwidXJuOnRlbGVtYXRpazpkaXNwbGF5X25hbWUiLCJvcGVuaWQiLCJ1cm46dGVsZW1hdGlrOmdlc2NobGVjaHQiLCJ1cm46dGVsZW1hdGlrOmdpdmVuX25hbWUiLCJ1cm46dGVsZW1hdGlrOmdlYnVydHNkYXR1bSIsInVybjp0ZWxlbWF0aWs6YWx0ZXIiXSwicmVzcG9uc2VfbW9kZXNfc3VwcG9ydGVkIjpbInF1ZXJ5Il0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVxdWlyZV9wdXNoZWRfYXV0aG9yaXphdGlvbl9yZXF1ZXN0cyI6dHJ1ZSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJzZWxmX3NpZ25lZF90bHNfY2xpZW50X2F1dGgiXSwicmVxdWVzdF9hdXRoZW50aWNhdGlvbl9tZXRob2RzX3N1cHBvcnRlZCI6eyJhciI6WyJub25lIl0sInBhciI6WyJzZWxmX3NpZ25lZF90bHNfY2xpZW50X2F1dGgiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOlsiRVMyNTYiXSwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJFQ0RILUVTIl0sImlkX3Rva2VuX2VuY3J5cHRpb25fZW5jX3ZhbHVlc19zdXBwb3J0ZWQiOlsiQTI1NkdDTSJdLCJ1c2VyX3R5cGVfc3VwcG9ydGVkIjpbIklQIl19LCJmZWRlcmF0aW9uX2VudGl0eSI6eyJuYW1lIjoiZ2VtYXRpayBzZWt0b3JhbGVyIElEUCIsImNvbnRhY3RzIjoic3VwcG9ydEBpZHA0NzExLmRlIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cHM6Ly9pZHA0NzExLmRlIn19fQ
Signatur: t0FQKYBue_bA2S6bOe1Cn5-F724xTA92TTPLCGDSMHTwKePd6lPkS0-6gpFtXIg2mVlrgdC5EN4i9yKuIO7p4w
Nach der Decodierung bekommt man in der payload das Entity Statement des gematik-eigenen sektoralen IDP
{
"iss": "https://gsi.dev.gematik.solutions",
"sub": "https://gsi.dev.gematik.solutions",
"iat": 1691575208,
"exp": 1692180008,
"jwks": {
"keys": [
{
"use": "sig",
"kid": "puk_idp_sig",
"kty": "EC",
"crv": "P-256",
"x": "Abt2Uyrk6KhczexlBOwJOTs_eB0DsFbcNxaxa0Z0vd4",
"y": "YZKBJtOUYEWTMknzFwBdl-6tVKyWnUDtxf2q0pST5X4"
}
]
},
"authority_hints": [
"https://app-test.federationmaster.de"
],
"metadata": {
"openid_provider": {
"issuer": "https://gsi.dev.gematik.solutions",
"signed_jwks_uri": "https://gsi.dev.gematik.solutions/jws.json",
"organization_name": "gematik sektoraler IDP",
"logo_uri": "https://gsi.dev.gematik.solutions/noLogoYet",
"authorization_endpoint": "https://gsi.dev.gematik.solutions/auth",
"token_endpoint": "https://gsi.dev.gematik.solutions/token",
"pushed_authorization_request_endpoint": "https://gsi.dev.gematik.solutions/PAR_Auth",
"client_registration_types_supported": [
"automatic"
],
"subject_types_supported": [
"pairwise"
],
"response_types_supported": [
"code"
],
"scopes_supported": [
"urn:telematik:email",
"urn:telematik:versicherter",
"urn:telematik:display_name",
"openid",
"urn:telematik:geschlecht",
"urn:telematik:given_name",
"urn:telematik:geburtsdatum",
"urn:telematik:alter"
],
"response_modes_supported": [
"query"
],
"grant_types_supported": [
"authorization_code"
],
"require_pushed_authorization_requests": true,
"token_endpoint_auth_methods_supported": [
"self_signed_tls_client_auth"
],
"request_authentication_methods_supported": {
"ar": [
"none"
],
"par": [
"self_signed_tls_client_auth"
]
},
"id_token_signing_alg_values_supported": [
"ES256"
],
"id_token_encryption_alg_values_supported": [
"ECDH-ES"
],
"id_token_encryption_enc_values_supported": [
"A256GCM"
],
"user_type_supported": [
"IP"
]
},
"federation_entity": {
"name": "gematik sektoraler IDP",
"contacts": "support@idp4711.de",
"homepage_uri": "https://idp4711.de"
}
}
}