...
Teknisk komponent: federationsentitet som registreras och publiceras för upptäckt och tillit inom federationen, t.ex. OpenID Provider, Relying Party/Client, Authorization Server, Resource.
Entity Identifier: entydig URI som identifierar en entitet i federationen.
Entity Configuration: entitetens självdeklaration som utgör startpunkt för trust chain och uppslagning av metadata resolutioni federationen.
Subordinate Statement: uttalande signerat av entitetens överordnade registreringsfunktion som intygar bindningar och kontroller vid registrering.
Registreringspolicy-URI: stabil identifierare som anger vilken version av registreringspolicy som tillämpats.
...
Bilaga A – Entity Configuration (top-level claims) – svensk profil
| Attribute | Type | Required | Description | Validation (svensk profil) |
|---|---|---|---|---|
| iss | String (URI) | Yes | Utfärdare av entity statement. | HTTPS-URI. För self-signed entity configuration: iss = sub. |
| sub | String (URI) | Yes | Entitetens entity identifier. | HTTPS-URI. Stabil över tid. |
| iat | Number | Yes | Utfärdandetid. | Unix-tid (sekunder). |
| exp | Number | Yes | Utgångstid. | Unix-tid (sekunder), > iat. |
| jwks | Object (JWKS) | Yes | Federationsnycklar (publika) för att verifiera entity statements. | Endast publika nycklar. keys krävs. Unika kid. |
| authority_hints | String[] (URI) | Yes (för Protocol Entities) | Pekar ut entitetens immediate superior(s). | Ej tom för leaf/protokollentiteter. HTTPS-URI. |
| trust_anchor_hints | String[] (URI) | No | Extra hint om relevanta trust anchors. | Om angiven: ej tom. HTTPS-URI. |
| metadata | Object | Yes (för Protocol Entities) | Metadata per entity type (protokollroll). | Får inte inkludera federation_entity för protokollentiteter. |
| trust_marks | Object[] | No | Trust marks som entiteten innehar/presenterar. | Varje post måste ha trust_mark_type och trust_mark (JWT). |
...
Bilaga B – Trust Marks (generisk struktur)
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| trust_marks[].trust_mark_type | String (URI) | Yes | Identifierare för trust mark-typen. | URI enligt federationens överenskommelse. Ska matcha tokeninnehåll. |
| trust_marks[].trust_mark | String (JWT) | Yes | Trust mark-token. | JWT. Signatur och giltighet måste valideras enligt federationens tillitsmodell. |
| trust_mark_issuers | Object | No (Trust Anchor) | Anger betrodda utfärdare per trust mark-typ. | Endast relevant för trust anchor. |
| trust_mark_owners | Object | No (Trust Anchor) | Anger ägare av trust mark-typ, inkl. nyckelmaterial. | Endast relevant för trust anchor. |
Bilaga C – Gemensam organisations- och kontaktmetadata
Dessa fält bör finnas för samtliga protokollentiteter (OP, RP/Client, AS, Resource) för att stödja spårbarhet och mänsklig validering.
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| organization_identifier | String | Yes | Identifierare för federationsmedlem (juridisk person). Borde var 12 siffror och kanske börja med 16 men vad vet jag | Organisationsnummerformat (policybestämt). |
| organization_name | String / Object (lang map) | Yes | Organisationens namn. | Ska vara konsekvent med anslutet medlemskap. |
| contacts | String[] | Yes | Kontaktpunkter. Frågan är vad vi ska ha denna till. | E-post/URI enligt federationens format. Ska vara förvaltningsbara och bemannade. |
| policy_uri | String (URI) | No | Länk till policy/sekretess för tjänsten. | HTTPS, relevant för tjänsten. |
| tos_uri | String (URI) | No | Länk till villkor. | HTTPS, relevant för tjänsten. |
| logo_uri | String (URI) | No | Logotyp/ikon för UI. | HTTPS, kontrollerbar, inte vilseledande. |
...
Bilaga D – Entity type: OpenID Relying Party / Client (metadata.openid_relying_party.*)
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.openid_relying_party.client_name | String / Object (lang map) | Policy-styrt | Namn för klienten/tjänsten. | Får inte vara vilseledande. |
| metadata.openid_relying_party.redirect_uris | String[] (URI) | Yes (för auth code) | Redirect URIs. | HTTPS. Inga fragment. Exakt matchning. Kontrollerbar domän. |
| metadata.openid_relying_party.response_types | String[] | Policy-styrt | Tillåtna response types. | Ska vara konsistent med grant_types och profil. |
| metadata.openid_relying_party.grant_types | String[] | Policy-styrt | Tillåtna grant types. | Ska vara konsistent med response_types och profil. |
| metadata.openid_relying_party.token_endpoint_auth_method | String | Policy-styrt | Auth-metod vid token endpoint. | Ska följa federationsprofil/krav. |
| metadata.openid_relying_party.jwks_uri | String (URI) | Conditional | URL till klientens JWKS. | HTTPS. Får ej kombineras med inline jwks om policy säger exklusivitet. |
| metadata.openid_relying_party.jwks | Object (JWKS) | Conditional | Inline JWKS. | Publika nycklar. Unika kid. |
| metadata.openid_relying_party.request_uris | String[] (URI) | No | URIer för request objects. | HTTPS. Kontrollerbar domän. |
| metadata.openid_relying_party.request_object_signing_alg | String | Policy-styrt | Signeringsalg för request objects. | Ska följa profil/krav. |
| metadata.openid_relying_party.id_token_signed_response_alg | String | Policy-styrt | Signeringsalg för ID Token. | Ska följa profil/krav. |
| metadata.openid_relying_party.userinfo_signed_response_alg | String | No | Signeringsalg för UserInfo (om signerat). | Ska följa profil/krav. |
| metadata.openid_relying_party.client_uri | String (URI) | No | Informationssida för klienten. | HTTPS, kontrollerbar. |
| metadata.openid_relying_party.logo_uri | String (URI) | No | Logotyp. | HTTPS, kontrollerbar. |
| metadata.openid_relying_party.policy_uri | String (URI) | No | Policy/sekretess. | HTTPS, relevant. |
| metadata.openid_relying_party.tos_uri | String (URI) | No | Villkor. | HTTPS, relevant. |
Bilaga E – Entity type: OpenID Provider (metadata.openid_provider.*)
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.openid_provider.issuer | String (URI) | Yes | OP:s issuer identifier. | HTTPS. Ska vara konsistent med OP:s discovery och federationens identifiering. |
| metadata.openid_provider.authorization_endpoint | String (URI) | Yes | Authorization endpoint. | HTTPS. |
| metadata.openid_provider.token_endpoint | String (URI) | Policy-styrt | Token endpoint (om tillämpligt). | HTTPS. |
| metadata.openid_provider.userinfo_endpoint | String (URI) | No | UserInfo endpoint. | HTTPS. |
| metadata.openid_provider.jwks_uri | String (URI) | Yes | URL till OP:s JWKS för protokollnycklar. | HTTPS. Kontrollerbar domän. |
| metadata.openid_provider.registration_endpoint | String (URI) | No | Dynamic registration endpoint (om stöd). | HTTPS. Ofta inte relevant i federerad modell om registrering sker via federation. |
| metadata.openid_provider.scopes_supported | String[] | Policy-styrt | Scopes som stöds. | Ska vara konsistent med svensk profil/krav. |
| metadata.openid_provider.response_types_supported | String[] | Yes | Response types som stöds. | Måste innehålla minst de som krävs av profil. |
| metadata.openid_provider.response_modes_supported | String[] | No | Response modes som stöds. | Ska följa profil/krav. |
| metadata.openid_provider.grant_types_supported | String[] | Policy-styrt | Grant types som stöds. | Ska följa profil/krav. |
| metadata.openid_provider.subject_types_supported | String[] | Yes | Subject types som stöds. | Ska följa profil/krav. |
| metadata.openid_provider.id_token_signing_alg_values_supported | String[] | Yes | Signeringsalgoritmer för ID Token. | Ska följa profil/krav. |
| metadata.openid_provider.userinfo_signing_alg_values_supported | String[] | No | Signeringsalgoritmer för UserInfo (om signerat). | Ska följa profil/krav. |
| metadata.openid_provider.claims_supported | String[] | Policy-styrt | Claims som stöds. | Ska följa profil/krav och informationsklassning. |
| metadata.openid_provider.claims_parameter_supported | Boolean | No | Stöd för claims-parameter. | Ska följa profil/krav. |
| metadata.openid_provider.request_parameter_supported | Boolean | No | Stöd för request-parameter. | Ska följa profil/krav. |
| metadata.openid_provider.request_uri_parameter_supported | Boolean | No | Stöd för request_uri. | Om true bör request_uris vara kontrollerbara och policyreglerade. |
| metadata.openid_provider.require_request_uri_registration | Boolean | No | Kräver registrerade request_uris. | Rekommenderas om request_uri används. |
| metadata.openid_provider.code_challenge_methods_supported | String[] | Policy-styrt | PKCE-metoder. | Ska följa profil/krav. |
| metadata.openid_provider.tls_client_certificate_bound_access_tokens | Boolean | No | mTLS-bound tokens. | Endast om federation/profil stödjer. |
| metadata.openid_provider.dpop_signing_alg_values_supported | String[] | No | DPoP-algoritmer. | Endast om federation/profil stödjer. |
...
Bilaga F – Entity type: OAuth Authorization Server (metadata.oauth_authorization_server.*)
Används för AS som inte nödvändigtvis är en OpenID Provider (ren OAuth AS), eller där man vill uttrycka OAuth AS-metadata separat.
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.oauth_authorization_server.issuer | String (URI) | Yes | AS issuer identifier. | HTTPS. |
| metadata.oauth_authorization_server.authorization_endpoint | String (URI) | Yes | Authorization endpoint. | HTTPS. |
| metadata.oauth_authorization_server.token_endpoint | String (URI) | Yes | Token endpoint. | HTTPS. |
| metadata.oauth_authorization_server.jwks_uri | String (URI) | Yes | JWKS URI. | HTTPS. |
| metadata.oauth_authorization_server.scopes_supported | String[] | Policy-styrt | Scopes som stöds. | Ska vara konsistent med federationens scope-policy. |
| metadata.oauth_authorization_server.response_types_supported | String[] | Policy-styrt | Response types som stöds. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.grant_types_supported | String[] | Policy-styrt | Grant types som stöds. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.token_endpoint_auth_methods_supported | String[] | Policy-styrt | Auth-metoder mot token endpoint. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.token_endpoint_auth_signing_alg_values_supported | String[] | No | Algoritmer för signerad klientauth. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.introspection_endpoint | String (URI) | No | Introspection endpoint. | HTTPS. Endast om erbjuds. |
| metadata.oauth_authorization_server.revocation_endpoint | String (URI) | No | Revocation endpoint. | HTTPS. Endast om erbjuds. |
| metadata.oauth_authorization_server.registration_endpoint | String (URI) | No | Dynamic registration endpoint. | Ofta ej relevant i federerad modell om registrering sker via federation. |
| metadata.oauth_authorization_server.code_challenge_methods_supported | String[] | Policy-styrt | PKCE-metoder. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.dpop_signing_alg_values_supported | String[] | No | DPoP-algoritmer. | Endast om stöd finns. |
| metadata.oauth_authorization_server.require_pushed_authorization_requests | Boolean | No | Kräver PAR. | Rekommenderas om PAR används. |
| metadata.oauth_authorization_server.pushed_authorization_request_endpoint | String (URI) | No | PAR endpoint. | HTTPS. Om PAR används. |
...
Bilaga G – Entity type: OAuth Protected Resource (metadata.oauth_resource.*)
Avser resurs/API som skyddas av OAuth (Resource Server) och som kan beskrivas maskinellt för interoperabilitet.
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.oauth_resource.resource | String (URI) | Yes | Resursidentifierare (audience/resource indicator). | HTTPS-URI. Stabil över tid. |
| metadata.oauth_resource.authorization_servers | String[] (URI) | Yes | Lista över AS/issuer som resursen accepterar tokens ifrån. | HTTPS-URI. Ska peka på federerade AS-entiteter. |
| metadata.oauth_resource.scopes_supported | String[] | Policy-styrt | Scopes som resursen kräver/accepterar. | Ska vara konsistent med federationens scope-policy och AS-konfiguration. |
| metadata.oauth_resource.bearer_methods_supported | String[] | No | Hur bearer tokens presenteras (t.ex. header). | Ska vara konsistent med resursens tekniska gränssnitt. |
| metadata.oauth_resource.resource_documentation | String (URI) | No | Dokumentation för API/resurs. | HTTPS, kontrollerbar. |
| metadata.oauth_resource.tls_client_certificate_bound_access_tokens | Boolean | No | Kräver/hanterar mTLS-bound tokens. | Endast om stöd finns i federationen. |
| metadata.oauth_resource.dpop_signing_alg_values_supported | String[] | No | DPoP-algoritmer som resursen accepterar. | Endast om stöd finns. |
...
Bilaga H – Minimiregler för semantik och kvalitet (gäller alla entity types)
...
Bilaga I – Mall för “registreringsbeslut” (spårbarhet)
| Fält | Innehåll |
|---|---|
| Ärende-ID | Unik referens till registreringsärendet |
| Entitet | Entity Identifier (URI) |
| Entity type(s) | OP / RP / AS / Resource (en eller flera) |
| Organisationskoppling | organization_identifier + organization_name |
| Kontaktuppgifter | contacts (inkl. ansvarig funktion) |
| Policy | Registreringspolicy-URI + version |
| Nycklar | Federations-JWKS + ev. protokoll-JWKS/JWKS URI |
| Endpoint-/URI-kontroll | Sammanfattning av domän/URI-kontroller |
| Beslut | Godkänd / Avslagen / Avregistrerad |
| Beslutsdatum | Datum/tid |
| Beslutsfattare | Funktion/roll (ej persondata om inte nödvändigt) |
---------------------Grejer som kanske kan vara bra---------------------------
...