commit 69e71ec601bff9dc789cac793cb7e8f95d68ffc9 Author: gabdevele Date: Wed Jun 17 17:46:59 2026 +0200 forked from developer italia diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..efa03eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*/db.sqlite3 +*/logs/ +*/static/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3da08f4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM python:3.10-slim + +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 + +RUN apt-get update \ + && apt-get install -y --no-install-recommends build-essential git \ + && rm -rf /var/lib/apt/lists/* + +RUN pip install --no-cache-dir --upgrade pip \ + && pip install --no-cache-dir \ + "git+https://github.com/italia/spid-cie-oidc-django.git" \ + "design-django-theme==v1.4.8" + +WORKDIR /app + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..e58f21e --- /dev/null +++ b/README.md @@ -0,0 +1,106 @@ +# Visione Local CIE Stack + +This folder is a ready-to-run local stack for CIE auth integration with Visione. + +Included services: +- `federation-authority` +- `provider` +- `relying-party` + +They run through one compose file and use the modified relying party bridge for Visione. + +## Prerequisites +- Visione backend running on `http://127.0.0.1:5555` +- Docker with Compose + +## Visione config +Set in `config.json`: + +```json +"cie_auth": { + "service_base_url": "http://127.0.0.1:8001", + "start_path": "/visione/start", + "shared_secret": "change-me-for-local-dev", + "state_ttl_minutes": 10, + "default_frontend_redirect_uri": "http://localhost:3000/auth/cie/callback" +} +``` + +Keep same secret also in: +- `relying_party/relying_party/settingslocal.py` + `VISIONE_SHARED_SECRET` + +## Start stack +From repo root: + +```bash +docker compose up -d +docker compose -f infra/cie-auth/docker-compose.yml up --build -d +``` + +This starts: +- MySQL + Mailpit from root compose +- authority on `127.0.0.1:8000` +- provider on `127.0.0.1:8002` +- relying party on `127.0.0.1:8001` + +## Start Visione +From repo root: + +```bash +cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug +cmake --build build +./build/visione-backend +``` + +## Smoke test +Start login: + +```bash +curl -sS -X POST http://127.0.0.1:5555/api/v1/auth/cie/start \ + -H 'Content-Type: application/json' \ + -d '{"frontend_redirect_uri":"http://localhost:3000/auth/cie/callback"}' +``` + +Expected JSON: +- `authorization_url` +- `state` + +Then: +1. open `authorization_url` in browser +2. complete demo CIE login +3. browser lands on `http://localhost:3000/auth/cie/callback?state=...` + +Poll result: + +```bash +curl -sS http://127.0.0.1:5555/api/v1/auth/cie/session/ +``` + +Expected success: +- `status = "authenticated"` +- `auth.token` present + +## Frontend flow +1. call `POST /api/v1/auth/cie/start` +2. redirect browser to `authorization_url` +3. callback page reads `state` +4. poll `GET /api/v1/auth/cie/session/{state}` +5. when authenticated, save `auth.token` +6. call `GET /api/v1/me` + +## Reset local auth DBs +If you want a clean auth stack: + +```bash +rm -f infra/cie-auth/federation_authority/db.sqlite3 +rm -f infra/cie-auth/provider/db.sqlite3 +rm -f infra/cie-auth/relying_party/db.sqlite3 +docker compose -f infra/cie-auth/docker-compose.yml down +docker compose -f infra/cie-auth/docker-compose.yml up --build -d +``` + +## Logs +```bash +docker compose -f infra/cie-auth/docker-compose.yml logs -f +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9dd1891 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +services: + federation-authority: + build: + context: . + dockerfile: Dockerfile + network_mode: host + working_dir: /app/federation_authority + command: ["/app/federation_authority", "8000"] + volumes: + - ./federation_authority:/app/federation_authority + + provider: + build: + context: . + dockerfile: Dockerfile + network_mode: host + working_dir: /app/provider + command: ["/app/provider", "8002"] + volumes: + - ./provider:/app/provider + depends_on: + - federation-authority + + relying-party: + build: + context: . + dockerfile: Dockerfile + network_mode: host + working_dir: /app/relying_party + command: ["/app/relying_party", "8001"] + volumes: + - ./relying_party:/app/relying_party + depends_on: + - federation-authority + - provider diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..ef5816a --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,18 @@ +#!/bin/sh +set -eu + +APP_DIR="$1" +PORT="$2" + +cd "$APP_DIR" + +mkdir -p logs static + +if [ ! -f db.sqlite3 ]; then + python manage.py migrate + python manage.py loaddata dumps/example.json +else + python manage.py migrate +fi + +exec python manage.py runserver 0.0.0.0:"$PORT" diff --git a/federation_authority/dump_data.sh b/federation_authority/dump_data.sh new file mode 100644 index 0000000..b6d909d --- /dev/null +++ b/federation_authority/dump_data.sh @@ -0,0 +1,2 @@ +#!/bin/bash +./manage.py dumpdata -e admin -e spid_cie_oidc_relying_party -e spid_cie_oidc_provider -e spid_cie_oidc_relying_party_test -e auth -e contenttypes -e sessions --indent 2 > dumps/example.json diff --git a/federation_authority/dumps/example.json b/federation_authority/dumps/example.json new file mode 100644 index 0000000..d78012f --- /dev/null +++ b/federation_authority/dumps/example.json @@ -0,0 +1,2201 @@ +[ + { + "model": "spid_cie_oidc_accounts.user", + "pk": 1, + "fields": { + "password": "pbkdf2_sha256$320000$FIyN55FCASEozeA1pWYRm1$8QzndgdnJkC7OPhEGPVHrrAxsa5KDoydMkl4zgrn0fs=", + "last_login": "2022-04-23T15:47:54.267Z", + "is_superuser": true, + "username": "admin", + "is_staff": true, + "date_joined": "2022-03-02T22:51:34.537Z", + "first_name": null, + "last_name": null, + "is_active": true, + "email": "admin.cie@example.it", + "origin": null, + "attributes": { + "https://attributes.eid.gov.it/spid_code": "RSSMRA80A01H501U", + "given_name": "Mario", + "family_name": "Rossi", + "place_of_birth": { + "region": "RM", + "locality": "H501" + }, + "birthdate": "1980-01-01", + "gender": "M", + "https://attributes.eid.gov.it/company_name": "Comune Roma", + "https://attributes.eid.gov.it/registered_office": { + "formatted": "Via Appia Nuova 10 00183 Roma" + }, + "https://attributes.eid.gov.it/fiscal_number": "TINIT-RSSMRA80A01H501U", + "https://attributes.eid.gov.it/company_fiscal_number": "TINIT-RSSMRA80A01H501U", + "https://attributes.eid.gov.it/vat_number": "VATIT-12345678901", + "document_details": { + "type": "cartaIdentita", + "document_number": "CA000001AA", + "issuer": { + "name": "ComuneRoma" + }, + "date_of_issuance": "2021-01-15", + "date_of_expiry": "2031-01-14" + }, + "phone_number": "393331112233", + "email": "mario.rossi@example.it", + "https://attributes.eid.gov.it/e_delivery_service": "mario.rossi@pec.example.it", + "https://attributes.eid.gov.it/eid_exp_date": "2031-01-14", + "address": { + "street_address": "Via Appia Nuova 10", + "postal_code": "00183", + "locality": "Roma", + "region": "RM", + "country_code": "IT" + }, + "sub": "76f6777878cc718fad7a6c4337268b33276a8492ef8e036d8cb0f421780d4ede", + "username": "http://127.0.0.1:8002/oidc/op__76f6777878cc718fad7a6c4337268b33276a8492ef8e036d8cb0f421780d4ede" + }, + "groups": [], + "user_permissions": [] + } + }, + { + "model": "spid_cie_oidc_accounts.user", + "pk": 2, + "fields": { + "password": "pbkdf2_sha256$320000$AhIzWIg12g3HskebsrXn98$vnuNV6C91Bnc1JobVWj392ekqHkKiI12bhgd0q6ApZk=", + "last_login": "2022-04-23T15:48:12.656Z", + "is_superuser": false, + "username": "user", + "is_staff": false, + "date_joined": "2022-03-11T22:09:22.789Z", + "first_name": null, + "last_name": null, + "is_active": true, + "email": "user.cie@example.it", + "origin": null, + "attributes": { + "https://attributes.eid.gov.it/spid_code": "VRDLGU85C15A662T", + "given_name": "Giulia", + "family_name": "Verdi", + "place_of_birth": { + "region": "BA", + "locality": "A662" + }, + "birthdate": "1985-03-15", + "gender": "F", + "https://attributes.eid.gov.it/company_name": "Comune Bari", + "https://attributes.eid.gov.it/registered_office": { + "formatted": "Via Sparano 25 70121 Bari" + }, + "https://attributes.eid.gov.it/fiscal_number": "TINIT-VRDLGU85C15A662T", + "https://attributes.eid.gov.it/company_fiscal_number": "TINIT-VRDLGU85C15A662T", + "https://attributes.eid.gov.it/vat_number": "VATIT-10987654321", + "document_details": { + "type": "cartaIdentita", + "document_number": "CA000002BB", + "issuer": { + "name": "ComuneBari" + }, + "date_of_issuance": "2022-06-01", + "date_of_expiry": "2032-05-31" + }, + "phone_number": "393339998877", + "email": "giulia.verdi@example.it", + "https://attributes.eid.gov.it/e_delivery_service": "giulia.verdi@pec.example.it", + "https://attributes.eid.gov.it/eid_exp_date": "2032-05-31", + "address": { + "street_address": "Via Sparano 25", + "postal_code": "70121", + "locality": "Bari", + "region": "BA", + "country_code": "IT" + }, + "sub": "da750f319fa08358b1342d9de6156f590c8f97c6b5d33a9dfd71657e121ecc58", + "username": "http://127.0.0.1:8000/oidc/op/__da750f319fa08358b1342d9de6156f590c8f97c6b5d33a9dfd71657e121ecc58" + }, + "groups": [], + "user_permissions": [] + } + }, + { + "model": "spid_cie_oidc_entity.federationentityconfiguration", + "pk": 1, + "fields": { + "created": "2022-02-05T22:04:49.310Z", + "modified": "2022-03-17T22:39:55.749Z", + "uuid": "afd47731-7484-427f-a1db-4e470835fa86", + "sub": "http://127.0.0.1:8000", + "default_exp": 33, + "default_signature_alg": "RS256", + "authority_hints": [], + "jwks_fed": [ + { + "use": "sig", + "kty": "RSA", + "n": "o8IolRjZlkzct-48rhrVlTnYU1pkMbVJD-DU05oMS9RVGrsFypg98m-Kw4H4qNPyQVx2OQORi-xShgk7HU-gK_2pVguYkv06FajL_edEAqqsqt_74Qf2WLRC5pfJG_z9OPzY8JGyk-z3SbeHN_BXKI8GY5E4WU2SstmQ9fyL4CxtRfjUia8limTC_3MOpT3zi5nr03jfbjpnjga51qXurxnlzc3a_xjk5RAApKxUvNwhJ275M0CmB99DjPwF6BLvUgJqgyCpUOn36LOhI4FquVqhqhiwKlMmiMe3yy0yNQ7FXBWxjzhexbpyc3Vu7zFIHPAcC4UyIQhc3waEj2viXw", + "e": "AQAB", + "d": "QfBLUQXpj2ixs2o9ismJWQYqwh1ynMVnfvpEGFQ-QUZlYlcOVO6KexVI5cJu8uQs9v6ZKAn00Ee_TvNmlz3Zu_zu85PFwuIuQkxun3VA4GYDEucP0CPZoQwsqBdURm3PNOQzImM4afIP_OHmk7K2FcHJi8wMyYC_4j5S7YncdM4pp1bxH9Uu7siY34IYbx7i6qzmKyyAYbDNQtGu_H83Kqd6qC0Ik-zYT9d1TCL53h_X48RWrigOJUbXIP1X3Cdg-hNmMsmvm90rN00w6xQP7k6BqYA_Ws7xfuJQC7cGcCNDwFYh_FH78DsgMw_AIWkWepUqvcgKT24aMheTte5BMQ", + "p": "2JbyVzXPcZpupYvaP9mXFt7s9j4-1a4i7GLDGHwc3WyjqadEosQpehH6n14uUiF2T4IAWAE-gUut8lrTfaXVJxI2efdavg7nOB-kIP-Bht5C_Ie-AG53tJMtyg9tByrWA_mWjOQ7zeh6Gnjl9xAT--4yePHr9E1SvDIVzF-pPoc", + "q": "wY5CXpFijWo6UQVnRmWuba4Gnhk2UTTGEhnccUiMO7PrKv4nWTlILeLFtEf5TOCCst5ic1fzm8NpC6kld9v2FK3XXWE8PQW4moJxZC4AYn1AD01PquH9LqzCHGUes_fXVsPKCqe1O1kGo0uryxhPOtIq3gs5TDCLTkX04hSPG2k", + "kid": "BXvfrlnhAMuHR07ajUmAcBRQcSzmw0c_RAgJnpS-9WQ" + } + ], + "jwks_core": [ + { + "use": "sig", + "kty": "RSA", + "kid": "FifYx03bnosD8m6gYQIfNHNP9cM_Sam9Tc5nLloIIrc", + "e": "AQAB", + "n": "3i5vV-_4nF_ES1BU86Zf2Bj6SiyGdGM3Izc2GrvtknQQCzpT3QlGv2d_wMrzVTS7PmZlvjyi2Qceq8EmEwbsIa5R8G57fxSpE0HL33giJfhpe8ublY4hGb6tEqSbHiFcgiF4T-Ft_98pz4nZtKTcesMZ8CcDUd9ibaLXGM4vaiUhSt76X1qOzqJHqAKMG-9VGm5DD2GSe7cu1yvaMCMPU6DGOqHYoBSkSbsnLelsRg6sINh6mZfb39odTJlOMFGhlg665702kc_iqqxd8jpyOh94vBagmJB4EQqI1qEte8sTMeBkVRpSLDoV5uNTlp2ZdINu1SakmaHB3WeStwC1lw", + "d": "QvPRP7mjvFOrjlp9zxJyzWbxfYqfVdFUGzuXBUVeWQS6lPeVsAUMmb8xo0JFQ4bpaetne4VAOZBIsM86jv9GBvxF2uMgOfJa5N-t9QB5oeGSv-hiURYMaXqpIvYRfGnnO5ukasXu5O0150GOJj6L5j6GwXSwLmrXeVxZ3zK63QwVl71xU1LR-lO0wLbqQROIT37Jw72B__wBk3QC0HjbrPv1fUVxKB3RCDR43X7PQkMPOfRHxicyp2MA4mLhLvuoRTTI4dfnd8Ou-xX5ctVzYmL0EMxPCleDFDIn9gTxpgCH95sVi-Zg6Zw5k1J_cchoD4AgGSSt2dr9mbiTRjLlcQ", + "p": "8BHX7hErQjESybgfzcX0hZmM-e1EWaM76uNJop9BiqRlBz9f-XxuC40A032AaZFDXqxVi3W0Hn1vJA6lSj9mGY5HEY-YVWAdOLLjM12oQ_cnH6czElExAoppUeMWsDEewDbZTn6rX5silcZ8Pu7Tsj-KSjPVzl9dr1w76EzsYj8", + "q": "7Oy3PGm3MjVlgTlgHnRKC-IcoB50hCBiqwACVcnlIgpg9Kt_srV7NWdmo5DJFIdrrvkjmN4wi9IOknSymStU-sB8BepnnterjPyBOr9PbttUP13qcOjuvjzD7Tr0IGou3yhA-YOuO9hOluhqd4tJIkdxT_X9qxgFQx5NSnsBpqk" + } + ], + "trust_marks": [], + "trust_mark_issuers": { + "https://www.spid.gov.it/certification/rp/public": [ + "https://registry.spid.agid.gov.it", + "https://public.intermediary.spid.it" + ], + "https://www.spid.gov.it/certification/rp/private": [ + "https://registry.spid.agid.gov.it", + "https://private.other.intermediary.it" + ], + "https://sgd.aa.it/onboarding": [ + "https://sgd.aa.it" + ] + }, + "entity_type": "federation_entity", + "metadata": { + "federation_entity": { + "contacts": [ + "ops@localhost" + ], + "federation_fetch_endpoint": "http://127.0.0.1:8000/fetch", + "federation_resolve_endpoint": "http://127.0.0.1:8000/resolve", + "federation_trust_mark_status_endpoint": "http://127.0.0.1:8000/trust_mark_status", + "homepage_uri": "http://127.0.0.1:8000", + "organization_name": "example TA", + "policy_uri": "http://127.0.0.1:8000/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "federation_list_endpoint": "http://127.0.0.1:8000/list" + } + }, + "constraints": { + "max_path_length": 1 + }, + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.federationentityconfiguration", + "pk": 2, + "fields": { + "created": "2022-02-14T23:44:47.487Z", + "modified": "2022-03-11T22:40:23.007Z", + "uuid": "780373bb-7b4e-4511-8fef-ca920d66addb", + "sub": "http://127.0.0.1:8000/oidc/rp", + "default_exp": 2880, + "default_signature_alg": "RS256", + "authority_hints": [ + "http://127.0.0.1:8000" + ], + "jwks_fed": [ + { + "use": "sig", + "kty": "RSA", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "e": "AQAB", + "d": "jOvIjuqkGF-OzeZNpprY1t79V1ZJSFtwFmA1EB9EWKF7YcmTHeOzVZ04f-3LtvHJQB0U_PdpUXUzlE9QB2TAISWcje84x5G8A8Ki39HIiMJoOTYZTen3MxMSXfpkNXma8ztzeRkuPQcgoevjTSvLNiV2UegGS7CF1eeE8qQ9iYjeimPSnfVeLx70L9Rat9-2cs3tqxkPOPPechnKrLJneVbxSmimiAEOQ238gGyEwmlfEGPn3OiIdU5oT-qvyp2KasmLucNgQxGLCkc5ppC_RsstQyNjs8bj88bjq3ahVDCiCFs8n6iRHAEZC1CM7xcEyZjyJ9ozC5nB-Pw3hLBSdQ", + "p": "0LeDPVA0DOSV3Gy3M1t5JxPMmPsgsCbx8y1thLuP21FOiVwRixRsXW10CxH56mX1qS9WVodlcCsqy1U-7yGJK9r-De8FvQtS8hbKEiVGMW61qIcMCv8krWOk5qU7uhxHLTL6qkvCsCpLdHeR7x842Aq3AnMCsNuWpLl3G4c0Cps", + "q": "zDfdUHIR1PvvBGleEnJFqe0Kw8bW9dOEGusZJ4bDoz61QRyn149Y64b8VW1f4kp1aGBySDm40BgnvPJtTMY0Bm-dPmL7XupsTyt-WHLmD178HQmsVTVIL0VLEIm0yKX7SdpgBOV9FFpHAkn1Mq3H0-tm48DwhCyi-84_bkc2h-s", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ], + "jwks_core": [ + { + "alg": "RSA-OAEP", + "use": "enc", + "kty": "RSA", + "e": "AQAB", + "n": "oP1EPjcPOtV7Zog2suguY-tCLUVWSe2DOAHqlEWeDJtuQ1sO99Ue_5-Zbdm7iUmA2JNoCKZhp3RpICxRy01PsmXVm5UhsiYvHwK4vYq8hJRgtNpci3Gwj4YzpsN1p2un1VbvtAgiSN5wXURWyaMPMDuOMhIPIleaXU0wHcmGeXEuJrVPluz2jbqYhUHkAlySsH8-3Tx9VIjYohkiaSGU43XIYgCDL3mDkt7u3Z5w009vsNu1XhVZ7SE_XhkOzcvnA82NSq04ogwZ_oAyBY8nYMIN0irxR9r8NssGR3OZxqUMwvElqpyWt2NthgvS0GkMrgirQig-rvJ5bldlBkgOWQ", + "d": "caSgY0rD4zH0oSM9eZ_ajUCFUgIN54-dyFlI0M_Bwf_2jQNM1sqbO9eSm9Rgsq2eIh-jLC7ZnBK1kLdvTxRELhiQQ7FwPHZuzQeMhkBpZb_qhFJ8JjyI1DXDZPUnquMK3_xaFODNnBCOZdqO1uxozFpivT7duTvUvAgupfzlp2XWDu_b2xDed16ZtroQk2gqjcByJSDt8U3lj82n34HjcpTZNGIIV4IbJ1jbUJ554A73bmQbjRFInKHMEDmTZGoa-GVcn9YgITUPL_vNvMJgzwcNeextFFLsX-Z8WD3ku4en-guehqFt7-6ZPVLJ0nlBn7oYOpLEML-U-tBZXsBx", + "p": "z8soMD0NaVkvMqIYN1OkKPGQUNSaopYiQEgS9ynQfo-GEo7lhHbcLnhpnqXVR0MYwpvdchJwehIr5-UZIWIV7BHkNLSWy5KPCKZ5G2P7CWsbDTDk0DjL7IJpOukhMsWRpumIKoOefs8RurTtbvGhwj09eLwy4sWO7uI7u11SHdU", + "q": "xlZonE4-C1acGa15uQDSes0DXrLShT337FLCRMy-6HQODSW__xxtV87wVywvDIf39nTQxoOnvUybuAfXww9xexuzC3Q2jXznpvHE7O7lglc6Uq-tEnviVVe-RhAwEQheVPEbCIJQHfvXhDsRzbTrzw7ennM0Gd5WtaICtb54vHU", + "kid": "m1-4Lr9DqAh5-UXYvQnacFiMSrPMaXfK0cfFmCxVvI8" + }, + { + "alg": "RS256", + "use": "sig", + "kty": "RSA", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "n": "5s4qi1Ta-sEuKb5rJ8TzHmyGKaSu89pIXIi6w4Ekx6GL56mJDNE_MWJHsFjWXajfMdMQmZrSXAvLtXxmbhUui9Mq_IormhmEyyEJS0SyE9UKTxWzi0yd_n_C7OjFBhM-0ZyUlgl81E_sr-35P1A6b5WSYwMvRSR-P9yx_NI-XBQ48G_zdmk3CbuuzZsXZqqgj5U7OGWH-4Huosn9nH3FVkwX0OlWkgWM-J9DEWzGBjl9hfbbrMtM_obljHL2NfT6RJYER2IpdI8RCyQS3sMPt6ZHDskmuNlyMDNATCChXQJLnltwEjxcgvzjw_G9J25DwfdfVEhDF_0kCp44UMmS3Q", + "e": "AQAB", + "d": "kXg7xFmVMxpy2AiWTRiLCw_nd3O-eR-JIBllbTeGUPR202o9YQC5TYzeFj3HznxTQHoBKm80SqN8n0Rq4tMi5SoRG96SIKwY0FZgHzqK6okJ2FKbOR7vLaqk1uDW3T9gBokj9XTBYqeFTFU3FTqhuhaRjypArtmTYPjejbSNbUZ29r2UjlMY92y-w4-IVDD9cWlI5I75QA1iWrmPF2t80uk9qqZFde8ZwWsvqqJym-I-x7T34SfMVhJQPbts6VzsUFAUZbT6kVKuUzffSdnr-QeQgj2dR-ULjcN3Y_M-6oc_n25Cz_xFgv3_3hLveizP6inooBzyhgTD1nlR7cWNgQ", + "p": "_XLjTNHt1OfGbaHae50Sm_C4dWp_fNNt1__cUNJ62bxJgFG3KlnwbRWtztXGe-BThMyMXK1HHjjUCf66FQGmfoDYTe7qz9j0OBctKMdkoAjTTYZdOYXu3G9U3HddnB-6bnd8fNnKidGAiseWi1eCoViEqeZ7cVULeOlI-ZOB500", + "q": "6SDtrFt50EL37kgcaKVttxXjz7JbanH5q-mLgV_tzBcdjEeg1lSv9-7pRDPNedF7KD-FsaT-2YSrPrc2F8z6_aKE7M_TCUv-m2LdLbvvB0iqO_kOjkdd1v9I-3qOq3Yvvd_SYTb81uAFTEFeRXoE7sLINOCO8ClCWa95nEFOMdE" + } + ], + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkZpZll4MDNibm9zRDhtNmdZUUlmTkhOUDljTV9TYW05VGM1bkxsb0lJcmMifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjQ1NjEyNDAxLCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.mSPNR0AOPBn3UNJAIbrWUMQ8vGTetQajpa3i59JDKDXYWqo2TUGh4AQBghCiG3qqV9cl-hleLtuwoeZ1InKHeslTLftVdcR3meeMLs3mLobHYr26Mi7pC7-jx1ZFVyk4GXl7mn9WVSQGEUOiuhL01tdlUfxf0TJSFSOMEZGpCA3hXroLOnEl3FjkAw7sPvjfImsbadbHVusb72HTTs1n5Xo7z3As3fDWHcxD-fvvq0beu9cx-L2sT4YaNC-ELd1M3m5r0NIjjEUAt4Gnot-l5Z3-C_bA41uvh2hX34U_fGZ6jpmuluJo1Lqi26N8LTB-Rbu0UMaZnkRg9E72_YRZig" + } + ], + "trust_mark_issuers": {}, + "entity_type": "openid_relying_party", + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8000/oidc/rp/resolve", + "organization_name": "that fancy RP", + "homepage_uri": "http://127.0.0.1:8000", + "policy_uri": "http://127.0.0.1:8000/oidc/rp/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "contacts": [ + "ops@rp.example.it" + ] + }, + "openid_relying_party": { + "organization_name": "that fancy RP", + "application_type": "web", + "client_id": "http://127.0.0.1:8000/oidc/rp", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "use": "sig", + "alg": "RS256", + "kty": "RSA", + "n": "5s4qi1Ta-sEuKb5rJ8TzHmyGKaSu89pIXIi6w4Ekx6GL56mJDNE_MWJHsFjWXajfMdMQmZrSXAvLtXxmbhUui9Mq_IormhmEyyEJS0SyE9UKTxWzi0yd_n_C7OjFBhM-0ZyUlgl81E_sr-35P1A6b5WSYwMvRSR-P9yx_NI-XBQ48G_zdmk3CbuuzZsXZqqgj5U7OGWH-4Huosn9nH3FVkwX0OlWkgWM-J9DEWzGBjl9hfbbrMtM_obljHL2NfT6RJYER2IpdI8RCyQS3sMPt6ZHDskmuNlyMDNATCChXQJLnltwEjxcgvzjw_G9J25DwfdfVEhDF_0kCp44UMmS3Q", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + }, + { + "use": "enc", + "kty": "RSA", + "e": "AQAB", + "alg": "RSA-OAEP", + "n": "oP1EPjcPOtV7Zog2suguY-tCLUVWSe2DOAHqlEWeDJtuQ1sO99Ue_5-Zbdm7iUmA2JNoCKZhp3RpICxRy01PsmXVm5UhsiYvHwK4vYq8hJRgtNpci3Gwj4YzpsN1p2un1VbvtAgiSN5wXURWyaMPMDuOMhIPIleaXU0wHcmGeXEuJrVPluz2jbqYhUHkAlySsH8-3Tx9VIjYohkiaSGU43XIYgCDL3mDkt7u3Z5w009vsNu1XhVZ7SE_XhkOzcvnA82NSq04ogwZ_oAyBY8nYMIN0irxR9r8NssGR3OZxqUMwvElqpyWt2NthgvS0GkMrgirQig-rvJ5bldlBkgOWQ", + "kid": "m1-4Lr9DqAh5-UXYvQnacFiMSrPMaXfK0cfFmCxVvI8" + } + ] + }, + "jwks_uri": "http://127.0.0.1:8000/oidc/rp/openid_relying_party/jwks.json", + "signed_jwks_uri": "http://127.0.0.1:8000/oidc/rp/openid_relying_party/jwks.jose", + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8000/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "constraints": {}, + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.federationentityconfiguration", + "pk": 3, + "fields": { + "created": "2022-02-25T16:27:20.027Z", + "modified": "2022-04-23T15:45:45.117Z", + "uuid": "86834b2b-73be-480a-932d-000c1c7af69b", + "sub": "http://127.0.0.1:8000/oidc/op", + "default_exp": 2880, + "default_signature_alg": "RS256", + "authority_hints": [ + "http://127.0.0.1:8000" + ], + "jwks_fed": [ + { + "use": "sig", + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "d": "b44j0kQ9Bhp3guWVMw-0oxK2-jTd7Gluh7Dcs5HNjSx5Tf4Kl8YMSo9czVyMY4qAdllYK3j2ejjO-iJ_52v6OO1d9MO2PEHk8U0IVlsWPScew9rs6bmzCukyU_WHMGWOcz_z_MA7DhPDRXjjpl_SeR6EovjStl77kUSEJ0qaJDvGelNimnMRBBsDgtDUMbOIzng82GclTsRkv8b041G0Q32XJ8YcJxGOlvWdr-q36fXJua0joshH0e2LilTtftjHCbgPdg1a6MGChCrgeTFTi6ihifMwcxINF-hSFcxA2WLaECCvMsjB40bd51wPfF0AiK5JvHLyJsAV6OzD9pf32Q", + "p": "_92f7QZr4IKRgeTpr49RG5V53A4PE0QW-4IBETZaaI6ymvvqTL1ik28qNVStR5xT6n3r7-_y3IHQQOPO0r8lbGvqYonVIuCUZaz66_QuZg4Gnm61Uyec8ecXQV3rsvMMwpHU_3RRB5RXGeDwWq9CAFpYERQGxf6naEeuurP1usM", + "q": "1CKCSTiSABX1OtfkiKcJV0PvhACTuoHSGW62TpqtdOxHsopb2kph2XM82Kt10jJDESosQcPTXc7ttTrYsfTSKva3kvRXrwcWzC4yMoacxaqyHKbatBValkMSMaVeRabtzECulHyxbK6bsLKRUAD0thQuUs_WSITWSPPty2ygkKc", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ], + "jwks_core": [ + { + "use": "sig", + "kty": "RSA", + "kid": "dB67gL7ck3TFiIAf7N6_7SHvqk0MDYMEQcoGGlkUAAw", + "n": "01_4aI2Lu5ggsElmRkE_S_a83V_szXU0txV4db2hmJ8HR1Y2s7PsZZ5-emGpnTydGrR3n-QExeEEIcFt_a06Ryiink34RQcKoGXUDBMBU0Bu8G7NcZ99YX6yeG9wFi4xs-WviTPmtPqijkz6jm1_ltWDcwbktfkraIRKKggZaEl9ldtsFr2wSpin3AXuGIdeJ0hZqhF92ODBLGjJlaIL9KlwopDy56adReVnraawSdrxmuPGj78IEADNAme2nQNvv9UCu0FkAn5St1bKds3Gpv26W0kjr1gZLsmQrj9lTcDk_KbAwfEY__P7se62kusoSuKMTQqUG1TQpUY7oFGSdw", + "e": "AQAB", + "d": "AxvyR3dtisDeGjm6K2ZiS_fBJ3B1xz_mGptSPkkfy2LrdH0sKNCItaXzLlGpcQqnNPFaoRt1hoOcz_JMb-LQbKOIYNO8xycnXNyildrhthvIhfjbRMSXz4tRjLv25hyf1omWX2pIBnl5UqaHOPkbW1igqlx7mMGlhdAMVznvRb1oJOXxPtSdlVOhqT5ohn4BJZcJ85TKm_E49KUKUsz_xkd3BlYnUaiuEu-VQbC0u61iH-N017wg4ZQn9eXQgAzFdSNI2GQ7IH76l00iUu-y9oT2ld4WHGYMmsZBJgaQZnu2Yj4IMb5NjQz2VAOTU844RXP7-7Y5rWsS1oewfWSHAQ", + "p": "9dvm96S4wBrwzs73DOG8eV6sWEN13ZJNLa4tKzJvonOLG_8Z9Rshnfg_HcYDm_mqRD-nFC-8JKufnNaZbZuO_hDiA6UkvlZMGePxoN7nueHGfAqZ9lRQX0Vpp2Ac480jJgBLOhwgjkySRI5Ck-enTGabkxVN_LJSU9FC54TW6KE", + "q": "3BfwsumO62vhekd2gm97Uk1XFOM5UXmb1esdFnZ_RZRw1tDUB2irTxLJSqECCZbMWRoFRB3k-17LAOMaITUqv8g-83zdCmR3gpO71ahbdEfkGGKQYL7WmMNv3YvSMY5lN4_mCEz8R_OCz0_H7bip0Es_KAl5TSXjnVTvaACnLBc" + } + ], + "trust_marks": [], + "trust_mark_issuers": {}, + "entity_type": "openid_provider", + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8000/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8000", + "policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8000/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8000/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8000/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8000/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8000/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "client_registration_types_supported": [ + "automatic" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "https://attributes.eid.gov.it/spid_code", + "given_name", + "family_name", + "place_of_birth", + "birthdate", + "gender", + "https://attributes.eid.gov.it/company_name", + "https://attributes.eid.gov.it/registered_office", + "https://attributes.eid.gov.it/fiscal_number", + "https://attributes.eid.gov.it/company_fiscal_number", + "https://attributes.eid.gov.it/vat_number", + "document_details", + "phone_number", + "email", + "https://attributes.eid.gov.it/e_delivery_service", + "https://attributes.eid.gov.it/eid_exp_date", + "address" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8000/oidc/op", + "jwks_uri": "http://127.0.0.1:8000/oidc/op/openid_provider/jwks.json", + "signed_jwks_uri": "http://127.0.0.1:8000/oidc/op/openid_provider/jwks.jose", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "01_4aI2Lu5ggsElmRkE_S_a83V_szXU0txV4db2hmJ8HR1Y2s7PsZZ5-emGpnTydGrR3n-QExeEEIcFt_a06Ryiink34RQcKoGXUDBMBU0Bu8G7NcZ99YX6yeG9wFi4xs-WviTPmtPqijkz6jm1_ltWDcwbktfkraIRKKggZaEl9ldtsFr2wSpin3AXuGIdeJ0hZqhF92ODBLGjJlaIL9KlwopDy56adReVnraawSdrxmuPGj78IEADNAme2nQNvv9UCu0FkAn5St1bKds3Gpv26W0kjr1gZLsmQrj9lTcDk_KbAwfEY__P7se62kusoSuKMTQqUG1TQpUY7oFGSdw", + "e": "AQAB", + "kid": "dB67gL7ck3TFiIAf7N6_7SHvqk0MDYMEQcoGGlkUAAw" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "constraints": {}, + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 117, + "fields": { + "created": "2022-03-31T19:38:18.847Z", + "modified": "2022-03-31T19:38:18.847Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000", + "exp": "2022-04-23T16:20:28Z", + "iat": "2022-04-23T15:47:28Z", + "statement": { + "exp": 1650730828, + "iat": 1650728848, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "o8IolRjZlkzct-48rhrVlTnYU1pkMbVJD-DU05oMS9RVGrsFypg98m-Kw4H4qNPyQVx2OQORi-xShgk7HU-gK_2pVguYkv06FajL_edEAqqsqt_74Qf2WLRC5pfJG_z9OPzY8JGyk-z3SbeHN_BXKI8GY5E4WU2SstmQ9fyL4CxtRfjUia8limTC_3MOpT3zi5nr03jfbjpnjga51qXurxnlzc3a_xjk5RAApKxUvNwhJ275M0CmB99DjPwF6BLvUgJqgyCpUOn36LOhI4FquVqhqhiwKlMmiMe3yy0yNQ7FXBWxjzhexbpyc3Vu7zFIHPAcC4UyIQhc3waEj2viXw", + "kid": "BXvfrlnhAMuHR07ajUmAcBRQcSzmw0c_RAgJnpS-9WQ" + } + ] + }, + "metadata": { + "federation_entity": { + "contacts": [ + "ops@localhost" + ], + "federation_fetch_endpoint": "http://127.0.0.1:8000/fetch", + "federation_resolve_endpoint": "http://127.0.0.1:8000/resolve", + "federation_trust_mark_status_endpoint": "http://127.0.0.1:8000/trust_mark_status", + "homepage_uri": "http://127.0.0.1:8000", + "organization_name": "example TA", + "policy_uri": "http://127.0.0.1:8000/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "federation_list_endpoint": "http://127.0.0.1:8000/list" + } + }, + "trust_mark_issuers": { + "https://www.spid.gov.it/certification/rp/public": [ + "https://registry.spid.agid.gov.it", + "https://public.intermediary.spid.it" + ], + "https://www.spid.gov.it/certification/rp/private": [ + "https://registry.spid.agid.gov.it", + "https://private.other.intermediary.it" + ], + "https://sgd.aa.it/onboarding": [ + "https://sgd.aa.it" + ] + }, + "constraints": { + "max_path_length": 1 + } + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4MjgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.LA69BlKROnjaOO3qBQuvfFpFOzEEPCnyvU0gDW4j_20tUqvdJMLfdEAtxwoBg7xBXYhImHnG5mGLvL1zvZWM8LWAzpPq4HeXSjsa0b05o819Ix4k3wImiH6JKdzHr2A4P3aaup5mI_0XrN2VqYh8TSIxkJTXCjYmgGa2g11ulv2wwyzVjVIMiq5KQ6EFgJ3CVXGDOfgl5VO_WeaNsp7-ujLbD-6ULOexPI8NQvyth7ObsnD0jkKUQ_fDrNkJfh4lk7ffMT309D5RyWXkdlzNYlo_d4buv9A5AnsUyMCNBQJppDFAYGCwc40TC7pW4hbANSZQCbY6C4fBUp3ED_88uA" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 118, + "fields": { + "created": "2022-03-31T19:42:31.832Z", + "modified": "2022-03-31T19:42:31.832Z", + "iss": "http://127.0.0.1:8001", + "sub": "http://127.0.0.1:8001", + "exp": "2022-04-23T16:20:28Z", + "iat": "2022-04-23T15:47:28Z", + "statement": { + "exp": 1650730828, + "iat": 1650728848, + "iss": "http://127.0.0.1:8001", + "sub": "http://127.0.0.1:8001", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ] + }, + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8001", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "uXfJA-wTlTCA4FdsoE0qZfmKIgedmarrtWgQbElKbWg9RDR7Z8JVBaRLFqwyfyG1JJFm64G51cBJwLIFwWoF7nxsH9VYLm5ocjAnsR4RhlfVE0y_60wjf8skJgBRpiXQPlwH9jDGaqVE_PEBTObDO5w3XourD1F360-v5cLDLRHdFJIitdEVtqATqY5DglRDaKiBhis7a5_1bk839PDLaQhju4XJk4tvDy5-LVkMy5sP2zU6-1tJdA-VmaBZLXy9n0967FGIWmMzpafrBMOuHFcUOH56o-clDah_CITH1dq2D64K0MYhEpACO2p8AH4K8Q6YuJ1dnkVDDwZp2C84sQ", + "e": "AQAB", + "kid": "YhuIJU6o15EUCyqA0LHEqJd-xVPJgoyW5wZ1o4padWs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8001/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkZpZll4MDNibm9zRDhtNmdZUUlmTkhOUDljTV9TYW05VGM1bkxsb0lJcmMifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjQ1NjEyNDAxLCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.mSPNR0AOPBn3UNJAIbrWUMQ8vGTetQajpa3i59JDKDXYWqo2TUGh4AQBghCiG3qqV9cl-hleLtuwoeZ1InKHeslTLftVdcR3meeMLs3mLobHYr26Mi7pC7-jx1ZFVyk4GXl7mn9WVSQGEUOiuhL01tdlUfxf0TJSFSOMEZGpCA3hXroLOnEl3FjkAw7sPvjfImsbadbHVusb72HTTs1n5Xo7z3As3fDWHcxD-fvvq0beu9cx-L2sT4YaNC-ELd1M3m5r0NIjjEUAt4Gnot-l5Z3-C_bA41uvh2hX34U_fGZ6jpmuluJo1Lqi26N8LTB-Rbu0UMaZnkRg9E72_YRZig" + } + ], + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4MjgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJhcHBsaWNhdGlvbl90eXBlIjoid2ViIiwiY2xpZW50X2lkIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6InVYZkpBLXdUbFRDQTRGZHNvRTBxWmZtS0lnZWRtYXJydFdnUWJFbEtiV2c5UkRSN1o4SlZCYVJMRnF3eWZ5RzFKSkZtNjRHNTFjQkp3TElGd1dvRjdueHNIOVZZTG01b2NqQW5zUjRSaGxmVkUweV82MHdqZjhza0pnQlJwaVhRUGx3SDlqREdhcVZFX1BFQlRPYkRPNXczWG91ckQxRjM2MC12NWNMRExSSGRGSklpdGRFVnRxQVRxWTVEZ2xSRGFLaUJoaXM3YTVfMWJrODM5UERMYVFoanU0WEprNHR2RHk1LUxWa015NXNQMnpVNi0xdEpkQS1WbWFCWkxYeTluMDk2N0ZHSVdtTXpwYWZyQk1PdUhGY1VPSDU2by1jbERhaF9DSVRIMWRxMkQ2NEswTVloRXBBQ08ycDhBSDRLOFE2WXVKMWRua1ZERHdacDJDODRzUSIsImUiOiJBUUFCIiwia2lkIjoiWWh1SUpVNm8xNUVVQ3lxQTBMSEVxSmQteFZQSmdveVc1d1oxbzRwYWRXcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDEvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.sLKVasSqeg0YEFIkDhn03P4cgEPa_zFBFx65yjp3oh7DGP7dvf_baJ0rPBZ6BhrUulS19lhhRzoHScUkeKBwScrK-K-y4acW9b1To2lliDUc0V0NtLvlW15Tj9sfQI52SOfSlPrLVJV3K2tESUw7LzmsxPE_r5rBLs0Ek7rrpEr0DLju2Agf8r7pzk44tDy5ZJ6hE69rsqMG7LEBEjyBpN3jc1cefrqLOM_1aMQsad6trxVdhf1EXuSNOGefPVx3MV8ziiV9JHEnyeoS09HWHr9iJ-9y1XVBR_fa8IVSzcVZCzb4M33UGTAtpMynvcRoDaK-fr8if5r6BUiomtX4Dg" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 119, + "fields": { + "created": "2022-03-31T19:42:31.848Z", + "modified": "2022-03-31T19:42:31.848Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8001", + "exp": "2022-04-25T15:47:28Z", + "iat": "2022-04-23T15:47:28Z", + "statement": { + "exp": 1650901648, + "iat": 1650728848, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8001", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ] + }, + "metadata_policy": { + "openid_relying_party": { + "grant_types": { + "subset_of": [ + "authorization_code", + "refresh_token" + ] + }, + "scope": { + "superset_of": [ + "openid" + ], + "subset_of": [ + "openid", + "offline_access" + ] + }, + "contacts": { + "add": [ + "that.email@ciao.it" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsImlhdCI6MTY1MDcyODg0OCwiaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9jZXJ0aWZpY2F0aW9uL3JwIiwibWFyayI6Imh0dHBzOi8vd3d3LmFnaWQuZ292Lml0L3RoZW1lcy9jdXN0b20vYWdpZC9sb2dvLnN2ZyIsInJlZiI6Imh0dHBzOi8vZG9jcy5pdGFsaWEuaXQvaXRhbGlhL3NwaWQvc3BpZC1yZWdvbGUtdGVjbmljaGUtb2lkYy9pdC9zdGFiaWxlL2luZGV4Lmh0bWwifQ.CcacL4KH4C8MmoLyRgo7SfPFP3JdVlbUcTRatGgJEn4uPCWbQG2OxegquVAYGoi0dyp_fPbJJ8iUTb3r96xbXkf4n4U5DOMgTDATJp3p8Kt4lHet0DbAAWunFiyZC44lXa6hfx8lvVye2qG77zHpHbWf8-ECbA2wqLX8rbWY8QSNMo8wjX0JIRFbctV9AFcu7SXWJfD8Po6q20WVcMLbd-Sjd7bRwb6iWen0cEpp9K3CWZ8-NZFoBclAk1jijZO7gHIkkusBiI6VUxERJXzd4NsPPEg4eqHdn2TCLQyk6lkAr_bG-VoLTC1qpGBFv8zgaPdPjBs-ZX0814IaJ-0U1Q" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YV9wb2xpY3kiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiZ3JhbnRfdHlwZXMiOnsic3Vic2V0X29mIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXX0sInNjb3BlIjp7InN1cGVyc2V0X29mIjpbIm9wZW5pZCJdLCJzdWJzZXRfb2YiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXX0sImNvbnRhY3RzIjp7ImFkZCI6WyJ0aGF0LmVtYWlsQGNpYW8uaXQiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L3NwLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF4THlJc0ltbGhkQ0k2TVRZMU1EY3lPRGcwT0N3aWFXUWlPaUpvZEhSd2N6b3ZMM2QzZHk1emNHbGtMbWR2ZGk1cGRDOWpaWEowYVdacFkyRjBhVzl1TDNKd0lpd2liV0Z5YXlJNkltaDBkSEJ6T2k4dmQzZDNMbUZuYVdRdVoyOTJMbWwwTDNSb1pXMWxjeTlqZFhOMGIyMHZZV2RwWkM5c2IyZHZMbk4yWnlJc0luSmxaaUk2SW1oMGRIQnpPaTh2Wkc5amN5NXBkR0ZzYVdFdWFYUXZhWFJoYkdsaEwzTndhV1F2YzNCcFpDMXlaV2R2YkdVdGRHVmpibWxqYUdVdGIybGtZeTlwZEM5emRHRmlhV3hsTDJsdVpHVjRMbWgwYld3aWZRLkNjYWNMNEtINEM4TW1vTHlSZ283U2ZQRlAzSmRWbGJVY1RSYXRHZ0pFbjR1UENXYlFHMk94ZWdxdVZBWUdvaTBkeXBfZlBiSko4aVVUYjNyOTZ4YlhrZjRuNFU1RE9NZ1REQVRKcDNwOEt0NGxIZXQwRGJBQVd1bkZpeVpDNDRsWGE2aGZ4OGx2VnllMnFHNzd6SHBIYldmOC1FQ2JBMndxTFg4cmJXWThRU05Nbzh3algwSklSRmJjdFY5QUZjdTdTWFdKZkQ4UG82cTIwV1ZjTUxiZC1TamQ3YlJ3YjZpV2VuMGNFcHA5SzNDV1o4LU5aRm9CY2xBazFqaWpaTzdnSElra3VzQmlJNlZVeEVSSlh6ZDROc1BQRWc0ZXFIZG4yVENMUXlrNmxrQXJfYkctVm9MVEMxcXBHQkZ2OHpnYVBkUGpCcy1aWDA4MTRJYUotMFUxUSJ9XX0.TeNguC4vz7GPVR_4hHa7-zXsc9oV-EHzQGe51ylx8wUJkOl473qfTY_oYA8jkYRn3tAZeh2vRvtzOZOJMyMyZgnWhKf6s6MkeNKzpjJwnyZmmsGG6VXjKpC20gxN4U1Fl_JRIPl42WkzCUD1I74iXX2-PxkvFo4jHBPR56wwA7xvAGvTESCAHZo5QNWk3mHdSv1Shm49ij7IliCsJTm7VqQ6zgZlD19J4uH109W-2KWlImDkVbZ-9sQBTYPJliJKlimHkJnpPqGKZxzDeTohg8a1EyOa9JxdngiWZ-Bj3qAhhbnonVNIsSTRcVmtWv9gzn2VATLN8vk4Uard-SFjMA" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 120, + "fields": { + "created": "2022-03-31T20:20:30.363Z", + "modified": "2022-03-31T20:20:30.363Z", + "iss": "http://127.0.0.1:8000/oidc/op", + "sub": "http://127.0.0.1:8000/oidc/op", + "exp": "2022-04-25T15:47:27Z", + "iat": "2022-04-23T15:47:27Z", + "statement": { + "exp": 1650901647, + "iat": 1650728847, + "iss": "http://127.0.0.1:8000/oidc/op", + "sub": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ] + }, + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8000/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8000", + "policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8000/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8000/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8000/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8000/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8000/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "client_registration_types_supported": [ + "automatic" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "https://attributes.eid.gov.it/spid_code", + "given_name", + "family_name", + "place_of_birth", + "birthdate", + "gender", + "https://attributes.eid.gov.it/company_name", + "https://attributes.eid.gov.it/registered_office", + "https://attributes.eid.gov.it/fiscal_number", + "https://attributes.eid.gov.it/company_fiscal_number", + "https://attributes.eid.gov.it/vat_number", + "document_details", + "phone_number", + "email", + "https://attributes.eid.gov.it/e_delivery_service", + "https://attributes.eid.gov.it/eid_exp_date", + "address" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "01_4aI2Lu5ggsElmRkE_S_a83V_szXU0txV4db2hmJ8HR1Y2s7PsZZ5-emGpnTydGrR3n-QExeEEIcFt_a06Ryiink34RQcKoGXUDBMBU0Bu8G7NcZ99YX6yeG9wFi4xs-WviTPmtPqijkz6jm1_ltWDcwbktfkraIRKKggZaEl9ldtsFr2wSpin3AXuGIdeJ0hZqhF92ODBLGjJlaIL9KlwopDy56adReVnraawSdrxmuPGj78IEADNAme2nQNvv9UCu0FkAn5St1bKds3Gpv26W0kjr1gZLsmQrj9lTcDk_KbAwfEY__P7se62kusoSuKMTQqUG1TQpUY7oFGSdw", + "e": "AQAB", + "kid": "dB67gL7ck3TFiIAf7N6_7SHvqk0MDYMEQcoGGlkUAAw" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImNJOHBCdldkSGdjdmxkbUk3SFhiUE1mRmhTS2tmQUNJYm9mc0Q2cTJKdEUiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxQVlHRjBDX2o1Q1BlWU1SSF9ta2huWXRudk1fQ21kbFdTRkhLOVlFYXMzZ0oxOTIyRG5oRngzRUl3MVUta1p3dzdiZ056NkMxbF8xY3lqa2dCU3VXeE9iT2JLNHpWTFpCR1VaZlhNQk5GbTJoZHI1Vm9MS0xlbXRaSHBCT21kc3hSMVIzVEozMEQwdlktTEpiVXRyd3VSQzhvT0NZSTV3aGNFYzhCNHV0RWV4M1c2ZENqQklqc0dmZEpJcVpIaGZMTjN4d1BNT2prRzVBX3k4V25UVmZHcTlPVWV1YVVuMy1QVnMzTzlMTXBPQmxhVDdHcmVYZ1VxV0FXLXp4VUNzaUhIVVZsOXVJQUdpNU9IdWtJdUJzMkNsQWxNWF9TNm1iTjdfN0tJR3gybVRJcmNnVkJQSmdZb3A5cW5TcWNYdWJfRVFUS3NGdE5HaWdzVUZuRHFGTlEiLCJraWQiOiJjSThwQnZXZEhnY3ZsZG1JN0hYYlBNZkZoU0trZkFDSWJvZnNENnEySnRFIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXNfc3VwcG9ydGVkIjpbImF1dG9tYXRpYyJdLCJjb2RlX2NoYWxsZW5nZV9tZXRob2RzX3N1cHBvcnRlZCI6WyJTMjU2Il0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9zcGlkQ29kZSIsImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9uYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2ZhbWlseU5hbWUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvcGxhY2VPZkJpcnRoIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvdW50eU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGF0ZU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZ2VuZGVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvbXBhbnlOYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L3JlZ2lzdGVyZWRPZmZpY2UiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZmlzY2FsTnVtYmVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2l2YUNvZGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvaWRDYXJkIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L21vYmlsZVBob25lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2VtYWlsIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2FkZHJlc3MiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZXhwaXJhdGlvbkRhdGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGlnaXRhbEFkZHJlc3MiXSwiZ3JhbnRfdHlwZXNfc3VwcG9ydGVkIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXSwiaWRfdG9rZW5fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIkVTMjU2Il0sImlzc3VlciI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjAxXzRhSTJMdTVnZ3NFbG1Sa0VfU19hODNWX3N6WFUwdHhWNGRiMmhtSjhIUjFZMnM3UHNaWjUtZW1HcG5UeWRHclIzbi1RRXhlRUVJY0Z0X2EwNlJ5aWluazM0UlFjS29HWFVEQk1CVTBCdThHN05jWjk5WVg2eWVHOXdGaTR4cy1XdmlUUG10UHFpamt6NmptMV9sdFdEY3dia3Rma3JhSVJLS2dnWmFFbDlsZHRzRnIyd1NwaW4zQVh1R0lkZUowaFpxaEY5Mk9EQkxHakpsYUlMOUtsd29wRHk1NmFkUmVWbnJhYXdTZHJ4bXVQR2o3OElFQUROQW1lMm5RTnZ2OVVDdTBGa0FuNVN0MWJLZHMzR3B2MjZXMGtqcjFnWkxzbVFyajlsVGNEa19LYkF3ZkVZX19QN3NlNjJrdXNvU3VLTVRRcVVHMVRRcFVZN29GR1NkdyIsImUiOiJBUUFCIiwia2lkIjoiZEI2N2dMN2NrM1RGaUlBZjdONl83U0h2cWswTURZTUVRY29HR2xrVUFBdyJ9XX0sInNjb3Blc19zdXBwb3J0ZWQiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXSwibG9nb191cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RhdGljL3N2Zy9zcGlkLWxvZ28tYy1sYi5zdmciLCJvcmdhbml6YXRpb25fbmFtZSI6IlNQSUQgT0lEQyBpZGVudGl0eSBwcm92aWRlciIsIm9wX3BvbGljeV91cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9lbi93ZWJzaXRlL2xlZ2FsLWluZm9ybWF0aW9uLyIsInJlcXVlc3RfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWVzdF91cmlfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWlyZV9yZXF1ZXN0X3VyaV9yZWdpc3RyYXRpb24iOnRydWUsInJlc3BvbnNlX3R5cGVzX3N1cHBvcnRlZCI6WyJjb2RlIl0sInN1YmplY3RfdHlwZXNfc3VwcG9ydGVkIjpbInBhaXJ3aXNlIiwicHVibGljIl0sInRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kc19zdXBwb3J0ZWQiOlsicHJpdmF0ZV9rZXlfand0Il0sInRva2VuX2VuZHBvaW50X2F1dGhfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwidXNlcmluZm9fZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwicmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19LCJhdXRob3JpdHlfaGludHMiOlsiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyJdfQ.n4Iut7R3JwLSCnH0PMoF3huC0Ie_XBqvKX666OJqw01XMWSD7fgwGmSxhd7DoJ4dhQi31iLGuvYAmd0jct6fY6Q2MXVOGT8_jYh8roAyDDP-MdfmOHp0OfAyx8guuiELM-oyfNdRlcWtP0JRxWLW57JmR572Xr-UcOV8mpbYFkUJ0pixYZGMtYd1qLUahutSurD0I-6mCnEc5OiFctFwXjVcJ5yVby0qc5WMEKlzneLJifzgpJu1KVW361_YHlc_lJW3RLr6NOj6WdHUy7EF4MrztdTK8268SOHW66J-tPCLGCGe8JwC_x0OgP39_6SPHrtEgojAd6hQnFtowXVwvg" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 121, + "fields": { + "created": "2022-03-31T20:20:30.378Z", + "modified": "2022-03-31T20:20:30.378Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/op", + "exp": "2022-04-25T15:47:27Z", + "iat": "2022-04-23T15:47:27Z", + "statement": { + "exp": 1650901647, + "iat": 1650728847, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ] + }, + "metadata_policy": { + "openid_provider": { + "subject_types_supported": { + "value": [ + "pairwise" + ] + }, + "id_token_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "userinfo_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "token_endpoint_auth_methods_supported": { + "value": [ + "private_key_jwt" + ] + }, + "userinfo_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "userinfo_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "request_object_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/op-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwiaWF0IjoxNjUwNzI4ODQ3LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vb3AiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.THy9YbuCL4i2TXC2AD-DbjA7PS4j9bETwuxYzB9nWafIFmWsDxndJLI6r2gfgU5VuBEi4PSvLjhwqKiCcSrtwRB4SgvZxn3i-xvR1qEyBS96BN80biz1mAtSp-y76QoSaCb_qoi5qWGRw-0s2UWOQig-0bgKIXH3Krt90y7e665lGSg1e7p33zsNIeCpct7rb5_kPE97mlNGU_axHycUsFax839ThVMDC40Y_-X8KVEp3XYl3aIkvlQV80CkyCSGcoKGIebWWYXKWwaDb_c_GKAZAbEM2-fWPbZRjJxI1iT6cwqZUI9zUh38GZmgJkM-9RXMkHeuJKqeA_EBoR_vlA" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoiMUFZR0YwQ19qNUNQZVlNUkhfbWtobll0bnZNX0NtZGxXU0ZISzlZRWFzM2dKMTkyMkRuaEZ4M0VJdzFVLWtad3c3YmdOejZDMWxfMWN5amtnQlN1V3hPYk9iSzR6VkxaQkdVWmZYTUJORm0yaGRyNVZvTEtMZW10WkhwQk9tZHN4UjFSM1RKMzBEMHZZLUxKYlV0cnd1UkM4b09DWUk1d2hjRWM4QjR1dEVleDNXNmRDakJJanNHZmRKSXFaSGhmTE4zeHdQTU9qa0c1QV95OFduVFZmR3E5T1VldWFVbjMtUFZzM085TE1wT0JsYVQ3R3JlWGdVcVdBVy16eFVDc2lISFVWbDl1SUFHaTVPSHVrSXVCczJDbEFsTVhfUzZtYk43XzdLSUd4Mm1USXJjZ1ZCUEpnWW9wOXFuU3FjWHViX0VRVEtzRnROR2lnc1VGbkRxRk5RIiwia2lkIjoiY0k4cEJ2V2RIZ2N2bGRtSTdIWGJQTWZGaFNLa2ZBQ0lib2ZzRDZxMkp0RSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF3TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRFEzTENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5USHk5WWJ1Q0w0aTJUWEMyQUQtRGJqQTdQUzRqOWJFVHd1eFl6QjluV2FmSUZtV3NEeG5kSkxJNnIyZ2ZnVTVWdUJFaTRQU3ZMamh3cUtpQ2NTcnR3UkI0U2d2WnhuM2kteHZSMXFFeUJTOTZCTjgwYml6MW1BdFNwLXk3NlFvU2FDYl9xb2k1cVdHUnctMHMyVVdPUWlnLTBiZ0tJWEgzS3J0OTB5N2U2NjVsR1NnMWU3cDMzenNOSWVDcGN0N3JiNV9rUEU5N21sTkdVX2F4SHljVXNGYXg4MzlUaFZNREM0MFlfLVg4S1ZFcDNYWWwzYUlrdmxRVjgwQ2t5Q1NHY29LR0llYldXWVhLV3dhRGJfY19HS0FaQWJFTTItZldQYlpSakp4STFpVDZjd3FaVUk5elVoMzhHWm1nSmtNLTlSWE1rSGV1SktxZUFfRUJvUl92bEEifV19.hz3VNTBPEq08hstWh8KwBhNP9OnwWlS6pn-NXXG64O8FvmXsUJ8XNVmPeLyV9QtPwbSMxXs3ZZYOjvzR7fNAeCLHTQx04r7Is-tdFnAPvsN68qMbWeVtmOPS78vyLdqz4-eDA6YN49xgiCs5XHO5pyrJwU6CcznPKSJAFp40042poX8h7BU4Yx9QXKd3DedwoPfI_3pOLP53zUj4qimRJRt-3BENRu_vmFb-M4MF66ihF2raZlgs9ujn9xQ4fmpPuNQk2nxJ1cgco-5h9NYlTP8lw8cOoPKNiDp5obAf0XOmFmoxJ2Rm1RMjBpYvVDwwXO0yxZvHCJ3Zg5CPQrxxrQ" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 122, + "fields": { + "created": "2022-04-07T18:19:47.520Z", + "modified": "2022-04-07T18:19:47.520Z", + "iss": "http://127.0.0.1:8000/oidc/rp", + "sub": "http://127.0.0.1:8000/oidc/rp", + "exp": "2022-04-25T15:47:27Z", + "iat": "2022-04-23T15:47:27Z", + "statement": { + "exp": 1650901647, + "iat": 1650728847, + "iss": "http://127.0.0.1:8000/oidc/rp", + "sub": "http://127.0.0.1:8000/oidc/rp", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ] + }, + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8000/oidc/rp", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "5s4qi1Ta-sEuKb5rJ8TzHmyGKaSu89pIXIi6w4Ekx6GL56mJDNE_MWJHsFjWXajfMdMQmZrSXAvLtXxmbhUui9Mq_IormhmEyyEJS0SyE9UKTxWzi0yd_n_C7OjFBhM-0ZyUlgl81E_sr-35P1A6b5WSYwMvRSR-P9yx_NI-XBQ48G_zdmk3CbuuzZsXZqqgj5U7OGWH-4Huosn9nH3FVkwX0OlWkgWM-J9DEWzGBjl9hfbbrMtM_obljHL2NfT6RJYER2IpdI8RCyQS3sMPt6ZHDskmuNlyMDNATCChXQJLnltwEjxcgvzjw_G9J25DwfdfVEhDF_0kCp44UMmS3Q", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8000/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkZpZll4MDNibm9zRDhtNmdZUUlmTkhOUDljTV9TYW05VGM1bkxsb0lJcmMifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjQ1NjEyNDAxLCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.mSPNR0AOPBn3UNJAIbrWUMQ8vGTetQajpa3i59JDKDXYWqo2TUGh4AQBghCiG3qqV9cl-hleLtuwoeZ1InKHeslTLftVdcR3meeMLs3mLobHYr26Mi7pC7-jx1ZFVyk4GXl7mn9WVSQGEUOiuhL01tdlUfxf0TJSFSOMEZGpCA3hXroLOnEl3FjkAw7sPvjfImsbadbHVusb72HTTs1n5Xo7z3As3fDWHcxD-fvvq0beu9cx-L2sT4YaNC-ELd1M3m5r0NIjjEUAt4Gnot-l5Z3-C_bA41uvh2hX34U_fGZ6jpmuluJo1Lqi26N8LTB-Rbu0UMaZnkRg9E72_YRZig" + } + ], + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ims1NEhRdERpYnlHY3M5WldWTWZ2aUhmLTJxTGNGVXRwd1kycmd4Qms4OE0iLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJwbl9JY2hDNjZTRlFNaGJUSEx0YkQ1OGpLaVlZdllvN1M0d2pQanpFQ011MjdjNkZKVkZOWHRsdWJ0YjdzQzYtV1RRMUh2NHJTUWRQaGFmSmJJeGEzMlI1MXNSUXBrVHIzSkZNWVA3eDIyRFJRRF9peHRRSlJhaUh3LW5wblo4cWdWSEpfdDRnUlRjNEhKa2VoQkxHdjQtckhWQUt6RmlRTlUxdTJBRncxZldNbk1ING9iX3B5aXNYVmdja3UzZHkxNGw3c1lTQU5scFh1ZllfcW5rUUZUdjB3TUgtQzZJemwtYWtFTlMyVUhwdlRMaGZDQlZLUHJGWEp4dWw0WERiVXdVYnZOWlV4VGVybkV4OGxWNWd4Q1NnS1NCRWdvSDlNZ3BEMVlXRlBiQW53aTdwN2U3TU5HejVsSDdlREZLa1BRaFhMV0FCVThVdkVJSVd5QTk1U1EiLCJraWQiOiJrNTRIUXREaWJ5R2NzOVpXVk1mdmlIZi0ycUxjRlV0cHdZMnJneEJrODhNIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiYXBwbGljYXRpb25fdHlwZSI6IndlYiIsImNsaWVudF9pZCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjVzNHFpMVRhLXNFdUtiNXJKOFR6SG15R0thU3U4OXBJWElpNnc0RWt4NkdMNTZtSkRORV9NV0pIc0ZqV1hhamZNZE1RbVpyU1hBdkx0WHhtYmhVdWk5TXFfSW9ybWhtRXl5RUpTMFN5RTlVS1R4V3ppMHlkX25fQzdPakZCaE0tMFp5VWxnbDgxRV9zci0zNVAxQTZiNVdTWXdNdlJTUi1QOXl4X05JLVhCUTQ4R196ZG1rM0NidXV6WnNYWnFxZ2o1VTdPR1dILTRIdW9zbjluSDNGVmt3WDBPbFdrZ1dNLUo5REVXekdCamw5aGZiYnJNdE1fb2JsakhMMk5mVDZSSllFUjJJcGRJOFJDeVFTM3NNUHQ2WkhEc2ttdU5seU1ETkFUQ0NoWFFKTG5sdHdFanhjZ3Z6andfRzlKMjVEd2ZkZlZFaERGXzBrQ3A0NFVNbVMzUSIsImUiOiJBUUFCIiwia2lkIjoiMkhub0ZTM1luQzl0amlDYWl2aFdMVlVKM0F4d0dHel85OHVSRmFxTUVFcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.ZQj5t0G8aocCJe21Tzqu0cy0KtftbAgOacEyCYwdEnldrfnG4NSHxkSEJxLfSjD6wDynktR-LfimvTifvRnVdQaFvOR7spCtKgfR1pAxYTG_UWFVhpGlPUC2gJObOa64ypr6aSQaOwaJh8LfPAYtj4rNcMGpqqdc-ZmgvozghEsGcXsyYGz5FgFOgh8QVuXhQM6XOS0aXqN2ExgwMD0XY4BxBNOkhH7y25vH7CLpawBhv5bsTYtIm6oKj978_EVm0W41CPvpAaieoG3I2ZzhrDL3Em7SS0BquEQTLH5iD8gixbcLMVlTIr-gTKO-LrWaC5Q1hGAIqWPYvlulKyfqxQ" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 123, + "fields": { + "created": "2022-04-07T18:19:47.537Z", + "modified": "2022-04-07T18:19:47.537Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/rp", + "exp": "2022-04-25T15:47:27Z", + "iat": "2022-04-23T15:47:27Z", + "statement": { + "exp": 1650901647, + "iat": 1650728847, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/rp", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ] + }, + "metadata_policy": { + "openid_relying_party": { + "scope": { + "superset_of": [ + "openid" + ], + "subset_of": [ + "openid", + "offline_access", + "profile", + "email" + ] + }, + "contacts": { + "add": [ + "ciao@email.it" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjUwNzI4ODQ3LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.LQTlLCChcnyySFVFrDBDVbi4POVO97qZ4C75gdAV5OqGjW66FbnySFLlI5SYpV3If7c6jvDUjqW47LaECUL3DIYWE4G0AvkYcwIHWIsCe1aM5hl2iLcBr5Vp1H5SJ0yeYSV-AvNIdMDhe2jWbMlxUCBHULDZdbnKwkV2DTHYr_1vwsjkSU1J78yTkzPqJ-VkIeku7dVKLYvxlXccEYAxtEx_sDFWBYZ0fXCwvR3KeywpvFh5SFFrATeSpM-zn4bNzQFiWM6v91P1PX1Xu83ZBx5vmJ4XEXjE6wDSFYV1b8UZODUh0B77BqEMzP0HG7OIOyKXprfMFuO33lErnVzwlQ" + }, + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-private", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjUwNzI4ODQ3LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAvcHJpdmF0ZSIsImxvZ29fdXJpIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.ILAeX7u1dMrT3ecFfEveeU_Ie_-DmDxsPhgC78v_qhyUZubLyribPsCcfHCOmI1mdYtDJUlHhx0LA5K2C6240tJc1IUV23K_tSLzOwfcElMPrZkX543tPAZIxMkyEK5xQ5len2DR0UniLLa9AtaaEYrWUQ_MXj0d61wW-1-IsyOHsbmw5cF0z9M_yte1XWkuDo5YxpwuVd3LRFvzU2AwUFjgMUUfvfewWSSb5rwaorN1X9ndR-MpSpGiDVkS7sXQLo3tQF-PV1q56ohwx4Wo_vq6BaXSxdqXi4Y9c8_Q2MNPc0RCOhwBypqYvStJnoJE_qZLVQNleDMg5stB7iDsZw" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoicG5fSWNoQzY2U0ZRTWhiVEhMdGJENThqS2lZWXZZbzdTNHdqUGp6RUNNdTI3YzZGSlZGTlh0bHVidGI3c0M2LVdUUTFIdjRyU1FkUGhhZkpiSXhhMzJSNTFzUlFwa1RyM0pGTVlQN3gyMkRSUURfaXh0UUpSYWlIdy1ucG5aOHFnVkhKX3Q0Z1JUYzRISmtlaEJMR3Y0LXJIVkFLekZpUU5VMXUyQUZ3MWZXTW5NSDRvYl9weWlzWFZnY2t1M2R5MTRsN3NZU0FObHBYdWZZX3Fua1FGVHYwd01ILUM2SXpsLWFrRU5TMlVIcHZUTGhmQ0JWS1ByRlhKeHVsNFhEYlV3VWJ2TlpVeFRlcm5FeDhsVjVneENTZ0tTQkVnb0g5TWdwRDFZV0ZQYkFud2k3cDdlN01OR3o1bEg3ZURGS2tQUWhYTFdBQlU4VXZFSUlXeUE5NVNRIiwia2lkIjoiazU0SFF0RGlieUdjczlaV1ZNZnZpSGYtMnFMY0ZVdHB3WTJyZ3hCazg4TSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJzY29wZSI6eyJzdXBlcnNldF9vZiI6WyJvcGVuaWQiXSwic3Vic2V0X29mIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIiwicHJvZmlsZSIsImVtYWlsIl19LCJjb250YWN0cyI6eyJhZGQiOlsiY2lhb0BlbWFpbC5pdCJdfX19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EUTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5LkxRVGxMQ0NoY255eVNGVkZyREJEVmJpNFBPVk85N3FaNEM3NWdkQVY1T3FHalc2NkZibnlTRkxsSTVTWXBWM0lmN2M2anZEVWpxVzQ3TGFFQ1VMM0RJWVdFNEcwQXZrWWN3SUhXSXNDZTFhTTVobDJpTGNCcjVWcDFINVNKMHllWVNWLUF2TklkTURoZTJqV2JNbHhVQ0JIVUxEWmRibkt3a1YyRFRIWXJfMXZ3c2prU1UxSjc4eVRrelBxSi1Wa0lla3U3ZFZLTFl2eGxYY2NFWUF4dEV4X3NERldCWVowZlhDd3ZSM0tleXdwdkZoNVNGRnJBVGVTcE0tem40Yk56UUZpV002djkxUDFQWDFYdTgzWkJ4NXZtSjRYRVhqRTZ3RFNGWVYxYjhVWk9EVWgwQjc3QnFFTXpQMEhHN09JT3lLWHByZk1GdU8zM2xFcm5WendsUSJ9LHsiaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHJpdmF0ZSIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EUTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkF2Y0hKcGRtRjBaU0lzSW14dloyOWZkWEpwSWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5JTEFlWDd1MWRNclQzZWNGZkV2ZWVVX0llXy1EbUR4c1BoZ0M3OHZfcWh5VVp1Ykx5cmliUHNDY2ZIQ09tSTFtZFl0REpVbEhoeDBMQTVLMkM2MjQwdEpjMUlVVjIzS190U0x6T3dmY0VsTVByWmtYNTQzdFBBWkl4TWt5RUs1eFE1bGVuMkRSMFVuaUxMYTlBdGFhRVlyV1VRX01YajBkNjF3Vy0xLUlzeU9Ic2JtdzVjRjB6OU1feXRlMVhXa3VEbzVZeHB3dVZkM0xSRnZ6VTJBd1VGamdNVVVmdmZld1dTU2I1cndhb3JOMVg5bmRSLU1wU3BHaURWa1M3c1hRTG8zdFFGLVBWMXE1Nm9od3g0V29fdnE2QmFYU3hkcVhpNFk5YzhfUTJNTlBjMFJDT2h3QnlwcVl2U3RKbm9KRV9xWkxWUU5sZURNZzVzdEI3aURzWncifV19.ic8RmrSl88jM5JALeDsFLBD-z0zmBU7tv5VxHewXewk0NFR-n_HRZdLKvxvqZKVkt5EeFCTr5qmyJaOjdAj7iFwZ408Lw9Bo0wG4Ex_QhWFrfbJlu2lKJ_G056c6hZbyEEMdRexxGAh1-8IWHtXjHsQbEkif1WMOrqrOMd3HY2z5i0UBeQ43Od8tMkWGL9TyFPjjKXra76t7SRNqa9-hYI5bOErLRJBLNRGyf7VxSVwrFobL245h4-sel_w7utgouduP2x1dfJKD3ylBdkVSB9YsDESM-pssT334v_g40pHwiYq0LudwBEQ1e-dfqp0mVcC0LNrkCLphL1IL2vuIyQ" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 124, + "fields": { + "created": "2022-04-16T13:13:58.647Z", + "modified": "2022-04-16T13:13:58.647Z", + "iss": "http://127.0.0.1:8002/oidc/op", + "sub": "http://127.0.0.1:8002/oidc/op", + "exp": "2022-04-25T15:47:28Z", + "iat": "2022-04-23T15:47:28Z", + "statement": { + "exp": 1650901648, + "iat": 1650728848, + "iss": "http://127.0.0.1:8002/oidc/op", + "sub": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ] + }, + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8002/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8002", + "policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8002/static/svg/logo-cie.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8002/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8002/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8002/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8002/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8002/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "client_registration_types_supported": [ + "automatic" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "given_name", + "family_name", + "birthdate", + "gender", + "phone_number", + "https://attributes.eid.gov.it/fiscal_number", + "phone_number_verified", + "email", + "address", + "document_details", + "https://attributes.eid.gov.it/physical_phone_number" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "e": "AQAB", + "n": "rJoSYv1stwlbM11tR9SYGIJuzqlJe2bv2N35oPRbwV_epjNWvGG2ZqEj53YFMC8AMZNFhuLa_LNwr1kLVE-jXQe8xjiLhe7DgMf1OnSzq9yAEXVo19BPBwkgJe2jp9HIgM_nfbIsUbSSkFAM2CKvGb0Bk2GvvqXZ12P-fpbVyA9hIQr6rNTqnCGx2-v4oViGG4u_3iTw7D1ZvLWmrmZOaKnDAqG3MJSdQ-2ggQ-Aiahg48si9C9D_JgnBV9tJ2eCS58ZC6kVG5sftElQVdH6e26mz464TZj5QgCwZCTsAQfIvBoXSdCKxpnvsFfrajz4q9BiXAryxIOl5fLmCFVNhw", + "kid": "Pd2N9-TZz_AWS3GFCkoYdRaXXls8YPhx_d_Ez7JwjQI" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8002/static/images/logo-cie.png", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "response_modes_supported": [ + "query", + "form_post" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IlpoU29hT2VkVk9zQnc2bTJ2Y2x3U1dpcXFuR2VPU3RULWdVY2xvdF82N3ciLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0ZzNhRTlmZDZsdFh6TnJpbV80Q0dLWVdmQzNucWNfdHY0WGphdzQ3M0NjcmZpcUR6ZVRLSGZSZmJ2YnFiMUR3bUk0ZnZDT2k1MUVWY21LTG5UaHpYeW5BVXB5VXZzd3ZMOF91emdEV08xUlNtQkcxTDBSRS1Da0tpaDRrZVhoMWt1OWhOczFfVi04MmRLNW9MT1ItVkpMbmhaQ3FUaFI0SEg2VHFMampXcnJYZnNIVlJ2YXVKaWxYNkZ4R2I1SkZvYzI3Vnh4ZEgyYzZQMlNIQzl3dUI4dG5mRzdPU3JTRDFnMmg3bFRYYklmbTc4YTBvcDY3ZF9qdXB6a29Lb0NUbXprUjJ6dndUVlZEZDk5dmtETFkyV1htYjhoSXdHNmRRWlhZbGtocUFZS3pUdVRaMHRqVmgwT3JxZkR4WXRMSDN3UXp6YUpPUmV3WllxTHlCMDlQOHciLCJraWQiOiJaaFNvYU9lZFZPc0J3Nm0ydmNsd1NXaXFxbkdlT1N0VC1nVWNsb3RfNjd3In1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNvZGVfY2hhbGxlbmdlX21ldGhvZHNfc3VwcG9ydGVkIjpbIlMyNTYiXSwiY2xpZW50X3JlZ2lzdHJhdGlvbl90eXBlc19zdXBwb3J0ZWQiOlsiYXV0b21hdGljIl0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsImJpcnRoZGF0ZSIsImdlbmRlciIsInBob25lX251bWJlciIsImh0dHBzOi8vYXR0cmlidXRlcy5laWQuZ292Lml0L2Zpc2NhbF9udW1iZXIiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiLCJlbWFpbCIsImFkZHJlc3MiLCJkb2N1bWVudF9kZXRhaWxzIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLmVpZC5nb3YuaXQvcGh5c2ljYWxfcGhvbmVfbnVtYmVyIl0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJhdXRob3JpemF0aW9uX2NvZGUiLCJyZWZyZXNoX3Rva2VuIl0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOlsiUlMyNTYiLCJFUzI1NiJdLCJpc3N1ZXIiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsInVzZSI6InNpZyIsImUiOiJBUUFCIiwibiI6InJKb1NZdjFzdHdsYk0xMXRSOVNZR0lKdXpxbEplMmJ2Mk4zNW9QUmJ3Vl9lcGpOV3ZHRzJacUVqNTNZRk1DOEFNWk5GaHVMYV9MTndyMWtMVkUtalhRZTh4amlMaGU3RGdNZjFPblN6cTl5QUVYVm8xOUJQQndrZ0plMmpwOUhJZ01fbmZiSXNVYlNTa0ZBTTJDS3ZHYjBCazJHdnZxWFoxMlAtZnBiVnlBOWhJUXI2ck5UcW5DR3gyLXY0b1ZpR0c0dV8zaVR3N0QxWnZMV21ybVpPYUtuREFxRzNNSlNkUS0yZ2dRLUFpYWhnNDhzaTlDOURfSmduQlY5dEoyZUNTNThaQzZrVkc1c2Z0RWxRVmRINmUyNm16NDY0VFpqNVFnQ3daQ1RzQVFmSXZCb1hTZENLeHBudnNGZnJhano0cTlCaVhBcnl4SU9sNWZMbUNGVk5odyIsImtpZCI6IlBkMk45LVRael9BV1MzR0ZDa29ZZFJhWFhsczhZUGh4X2RfRXo3SndqUUkifV19LCJzY29wZXNfc3VwcG9ydGVkIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIl0sImxvZ29fdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL3N0YXRpYy9pbWFnZXMvbG9nby1jaWUucG5nIiwib3JnYW5pemF0aW9uX25hbWUiOiJTUElEIE9JREMgaWRlbnRpdHkgcHJvdmlkZXIiLCJvcF9wb2xpY3lfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvZW4vd2Vic2l0ZS9sZWdhbC1pbmZvcm1hdGlvbi8iLCJyZXF1ZXN0X3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVlc3RfdXJpX3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVpcmVfcmVxdWVzdF91cmlfcmVnaXN0cmF0aW9uIjp0cnVlLCJyZXNwb25zZV90eXBlc19zdXBwb3J0ZWQiOlsiY29kZSJdLCJyZXNwb25zZV9tb2Rlc19zdXBwb3J0ZWQiOlsicXVlcnkiLCJmb3JtX3Bvc3QiXSwic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOlsicGFpcndpc2UiLCJwdWJsaWMiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJ1c2VyaW5mb19zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfX0sImF1dGhvcml0eV9oaW50cyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIl19.WnWh9OkfAzb6YCo-yrnV9-7K_I3fucMVxNuw7tr7V43nVvgGJd4BqBSqc8Q0nKgzLcnNtnhf3MRiJ-hVkUL6vhaxt6jsXWvJupRQDf7f6-AgeNPvsHNvlrjoUkVNvTDS3jPUwXtnW7k7xQLEpdoxFW2ggbeG0zLfyyBypEGW3IZa1fDxlnEWvHH7Kctu55OBT_PC514HlKHWBYrBLYMODDoV-PCfOochOroSj3nM1WlDg50OoPXdjRUvM4eRxOmjEOF4kdXK2AKXY8wGMhJere07XnFk7TjdfLMNUdGaDR0aiPYoBkshq7Vhpy8pXt-JdN7RKKjjK-WAFLdEwASDtQ" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 125, + "fields": { + "created": "2022-04-16T13:13:58.654Z", + "modified": "2022-04-16T13:13:58.654Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8002/oidc/op", + "exp": "2022-04-25T15:47:28Z", + "iat": "2022-04-23T15:47:28Z", + "statement": { + "exp": 1650901648, + "iat": 1650728848, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "e": "AQAB", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ] + }, + "metadata_policy": { + "openid_provider": { + "subject_types_supported": { + "value": [ + "pairwise" + ] + }, + "id_token_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "userinfo_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "token_endpoint_auth_methods_supported": { + "value": [ + "private_key_jwt" + ] + }, + "userinfo_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "userinfo_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "request_object_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/op-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwiaWF0IjoxNjUwNzI4ODQ4LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vb3AiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.bCueZbCyLLGRRECTU-Pi7-tkgIn74godu9mmzbUcEnDGlYRjZlrK9IWjGloFuQJNymQndWvyEDzHIIHIXpaJqQ4qwqr7hjmZaHC2mrEbUApD9ME72roxWoYL423IZzkZE4B0l0xAzcoIitKIvZb9elDhEgyJmYgaWFV3E47cE4z1DlOecHjp8utxdHawHzN74nOF79-DPe6wtOQnrJkUK4wPckrwZl-hZl5DIl2XP1A30OFpjPfr0XZ_1CSjyM0RO_z6q548WKrvG-JmpDiYw4rY7D9FDbHAlJQML-RL7MNMVeTnkK05E_XsdN6GEE9Lffq1JF95K2lLpOY4QA3Apg" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwibiI6InRnM2FFOWZkNmx0WHpOcmltXzRDR0tZV2ZDM25xY190djRYamF3NDczQ2NyZmlxRHplVEtIZlJmYnZicWIxRHdtSTRmdkNPaTUxRVZjbUtMblRoelh5bkFVcHlVdnN3dkw4X3V6Z0RXTzFSU21CRzFMMFJFLUNrS2loNGtlWGgxa3U5aE5zMV9WLTgyZEs1b0xPUi1WSkxuaFpDcVRoUjRISDZUcUxqaldyclhmc0hWUnZhdUppbFg2RnhHYjVKRm9jMjdWeHhkSDJjNlAyU0hDOXd1Qjh0bmZHN09TclNEMWcyaDdsVFhiSWZtNzhhMG9wNjdkX2p1cHprb0tvQ1RtemtSMnp2d1RWVkRkOTl2a0RMWTJXWG1iOGhJd0c2ZFFaWFlsa2hxQVlLelR1VFowdGpWaDBPcnFmRHhZdExIM3dRenphSk9SZXdaWXFMeUIwOVA4dyIsImUiOiJBUUFCIiwia2lkIjoiWmhTb2FPZWRWT3NCdzZtMnZjbHdTV2lxcW5HZU9TdFQtZ1VjbG90XzY3dyJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF5TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRFE0TENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5iQ3VlWmJDeUxMR1JSRUNUVS1QaTctdGtnSW43NGdvZHU5bW16YlVjRW5ER2xZUmpabHJLOUlXakdsb0Z1UUpOeW1RbmRXdnlFRHpISUlISVhwYUpxUTRxd3FyN2hqbVphSEMybXJFYlVBcEQ5TUU3MnJveFdvWUw0MjNJWnprWkU0QjBsMHhBemNvSWl0S0l2WmI5ZWxEaEVneUptWWdhV0ZWM0U0N2NFNHoxRGxPZWNIanA4dXR4ZEhhd0h6Tjc0bk9GNzktRFBlNnd0T1FuckprVUs0d1Bja3J3WmwtaFpsNURJbDJYUDFBMzBPRnBqUGZyMFhaXzFDU2p5TTBST196NnE1NDhXS3J2Ry1KbXBEaVl3NHJZN0Q5RkRiSEFsSlFNTC1STDdNTk1WZVRua0swNUVfWHNkTjZHRUU5TGZmcTFKRjk1SzJsTHBPWTRRQTNBcGcifV19.BtyhU0RYjVKig081cbTtN7cpCLJP6sQ9V0GTMdkoWu3D5fR8zUtdbxOK6f726k_at-6ftMQtetv85F0-u7TQG9aZqdRXmZsMsQi9HtUeGhPrfjUFYqEIctocFBhnHOiyh8sQiXRFOklRPHlui1IVa47XFmM4T7Z8tPzmPFUCucxDDkpMnEA5rdOxOfiM1cCqYJi7XVopwYJXPvMqiOqFB8QB0ESKaIOHMskvAU-208rnwxCjWS_dglmUBRdSuGuLpHUw8pjt7Z2T0oN646nwRkLMLB3oWMhaOD3pFsshpyjg2pL5LTTSvFm8wJEejvwz-guG7L283ODswMAe9y5HHQ" + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 40, + "fields": { + "created": "2022-03-31T19:42:31.861Z", + "modified": "2022-03-31T19:42:31.861Z", + "sub": "http://127.0.0.1:8001", + "trust_anchor": 117, + "exp": "2022-04-23T16:20:27Z", + "iat": "2022-03-31T19:42:31.861Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4MjgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJhcHBsaWNhdGlvbl90eXBlIjoid2ViIiwiY2xpZW50X2lkIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6InVYZkpBLXdUbFRDQTRGZHNvRTBxWmZtS0lnZWRtYXJydFdnUWJFbEtiV2c5UkRSN1o4SlZCYVJMRnF3eWZ5RzFKSkZtNjRHNTFjQkp3TElGd1dvRjdueHNIOVZZTG01b2NqQW5zUjRSaGxmVkUweV82MHdqZjhza0pnQlJwaVhRUGx3SDlqREdhcVZFX1BFQlRPYkRPNXczWG91ckQxRjM2MC12NWNMRExSSGRGSklpdGRFVnRxQVRxWTVEZ2xSRGFLaUJoaXM3YTVfMWJrODM5UERMYVFoanU0WEprNHR2RHk1LUxWa015NXNQMnpVNi0xdEpkQS1WbWFCWkxYeTluMDk2N0ZHSVdtTXpwYWZyQk1PdUhGY1VPSDU2by1jbERhaF9DSVRIMWRxMkQ2NEswTVloRXBBQ08ycDhBSDRLOFE2WXVKMWRua1ZERHdacDJDODRzUSIsImUiOiJBUUFCIiwia2lkIjoiWWh1SUpVNm8xNUVVQ3lxQTBMSEVxSmQteFZQSmdveVc1d1oxbzRwYWRXcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDEvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.sLKVasSqeg0YEFIkDhn03P4cgEPa_zFBFx65yjp3oh7DGP7dvf_baJ0rPBZ6BhrUulS19lhhRzoHScUkeKBwScrK-K-y4acW9b1To2lliDUc0V0NtLvlW15Tj9sfQI52SOfSlPrLVJV3K2tESUw7LzmsxPE_r5rBLs0Ek7rrpEr0DLju2Agf8r7pzk44tDy5ZJ6hE69rsqMG7LEBEjyBpN3jc1cefrqLOM_1aMQsad6trxVdhf1EXuSNOGefPVx3MV8ziiV9JHEnyeoS09HWHr9iJ-9y1XVBR_fa8IVSzcVZCzb4M33UGTAtpMynvcRoDaK-fr8if5r6BUiomtX4Dg", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4MjcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.fMQvcBAK4hFMJ2EU6dIR4wHTfNj_8yxohS_QcPHSPuFgMwqnhmAou6xDpv3L0TsibuU7Gnc4GRc2El8_9wVuXsUJOsAa2DpDJg6zoIa-XmLKjFKTpRDj735vcZb_wJqlXPTWI3AGRb1xAUKYF7BIg0KxIDjzOkLqkz8-XfmyHhESgnVXudITRaFad1nijYb1jb7ivLvgV3wdZ5IsKDaDV5Ys9ICTmSnMAEEmwYKWltWHj4bcqLs_diXL14wTJyzySvqG7FwSrVOS4qTdlfEqMuxOJ0b4Nr7L92DtG9KxxdMluBLZDmRwoL3rKu24vDvgfzftAxaoR57QH3IC4Qvp8A", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YV9wb2xpY3kiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiZ3JhbnRfdHlwZXMiOnsic3Vic2V0X29mIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXX0sInNjb3BlIjp7InN1cGVyc2V0X29mIjpbIm9wZW5pZCJdLCJzdWJzZXRfb2YiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXX0sImNvbnRhY3RzIjp7ImFkZCI6WyJ0aGF0LmVtYWlsQGNpYW8uaXQiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L3NwLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF4THlJc0ltbGhkQ0k2TVRZMU1EY3lPRGcwT0N3aWFXUWlPaUpvZEhSd2N6b3ZMM2QzZHk1emNHbGtMbWR2ZGk1cGRDOWpaWEowYVdacFkyRjBhVzl1TDNKd0lpd2liV0Z5YXlJNkltaDBkSEJ6T2k4dmQzZDNMbUZuYVdRdVoyOTJMbWwwTDNSb1pXMWxjeTlqZFhOMGIyMHZZV2RwWkM5c2IyZHZMbk4yWnlJc0luSmxaaUk2SW1oMGRIQnpPaTh2Wkc5amN5NXBkR0ZzYVdFdWFYUXZhWFJoYkdsaEwzTndhV1F2YzNCcFpDMXlaV2R2YkdVdGRHVmpibWxqYUdVdGIybGtZeTlwZEM5emRHRmlhV3hsTDJsdVpHVjRMbWgwYld3aWZRLkNjYWNMNEtINEM4TW1vTHlSZ283U2ZQRlAzSmRWbGJVY1RSYXRHZ0pFbjR1UENXYlFHMk94ZWdxdVZBWUdvaTBkeXBfZlBiSko4aVVUYjNyOTZ4YlhrZjRuNFU1RE9NZ1REQVRKcDNwOEt0NGxIZXQwRGJBQVd1bkZpeVpDNDRsWGE2aGZ4OGx2VnllMnFHNzd6SHBIYldmOC1FQ2JBMndxTFg4cmJXWThRU05Nbzh3algwSklSRmJjdFY5QUZjdTdTWFdKZkQ4UG82cTIwV1ZjTUxiZC1TamQ3YlJ3YjZpV2VuMGNFcHA5SzNDV1o4LU5aRm9CY2xBazFqaWpaTzdnSElra3VzQmlJNlZVeEVSSlh6ZDROc1BQRWc0ZXFIZG4yVENMUXlrNmxrQXJfYkctVm9MVEMxcXBHQkZ2OHpnYVBkUGpCcy1aWDA4MTRJYUotMFUxUSJ9XX0.TeNguC4vz7GPVR_4hHa7-zXsc9oV-EHzQGe51ylx8wUJkOl473qfTY_oYA8jkYRn3tAZeh2vRvtzOZOJMyMyZgnWhKf6s6MkeNKzpjJwnyZmmsGG6VXjKpC20gxN4U1Fl_JRIPl42WkzCUD1I74iXX2-PxkvFo4jHBPR56wwA7xvAGvTESCAHZo5QNWk3mHdSv1Shm49ij7IliCsJTm7VqQ6zgZlD19J4uH109W-2KWlImDkVbZ-9sQBTYPJliJKlimHkJnpPqGKZxzDeTohg8a1EyOa9JxdngiWZ-Bj3qAhhbnonVNIsSTRcVmtWv9gzn2VATLN8vk4Uard-SFjMA" + ] + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ] + }, + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8001", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "uXfJA-wTlTCA4FdsoE0qZfmKIgedmarrtWgQbElKbWg9RDR7Z8JVBaRLFqwyfyG1JJFm64G51cBJwLIFwWoF7nxsH9VYLm5ocjAnsR4RhlfVE0y_60wjf8skJgBRpiXQPlwH9jDGaqVE_PEBTObDO5w3XourD1F360-v5cLDLRHdFJIitdEVtqATqY5DglRDaKiBhis7a5_1bk839PDLaQhju4XJk4tvDy5-LVkMy5sP2zU6-1tJdA-VmaBZLXy9n0967FGIWmMzpafrBMOuHFcUOH56o-clDah_CITH1dq2D64K0MYhEpACO2p8AH4K8Q6YuJ1dnkVDDwZp2C84sQ", + "e": "AQAB", + "kid": "YhuIJU6o15EUCyqA0LHEqJd-xVPJgoyW5wZ1o4padWs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8001/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8001", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:47:28.079Z", + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 41, + "fields": { + "created": "2022-03-31T20:20:30.392Z", + "modified": "2022-03-31T20:20:30.392Z", + "sub": "http://127.0.0.1:8000/oidc/op", + "trust_anchor": 117, + "exp": "2022-04-23T16:20:27Z", + "iat": "2022-03-31T20:20:30.392Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6ImNJOHBCdldkSGdjdmxkbUk3SFhiUE1mRmhTS2tmQUNJYm9mc0Q2cTJKdEUiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxQVlHRjBDX2o1Q1BlWU1SSF9ta2huWXRudk1fQ21kbFdTRkhLOVlFYXMzZ0oxOTIyRG5oRngzRUl3MVUta1p3dzdiZ056NkMxbF8xY3lqa2dCU3VXeE9iT2JLNHpWTFpCR1VaZlhNQk5GbTJoZHI1Vm9MS0xlbXRaSHBCT21kc3hSMVIzVEozMEQwdlktTEpiVXRyd3VSQzhvT0NZSTV3aGNFYzhCNHV0RWV4M1c2ZENqQklqc0dmZEpJcVpIaGZMTjN4d1BNT2prRzVBX3k4V25UVmZHcTlPVWV1YVVuMy1QVnMzTzlMTXBPQmxhVDdHcmVYZ1VxV0FXLXp4VUNzaUhIVVZsOXVJQUdpNU9IdWtJdUJzMkNsQWxNWF9TNm1iTjdfN0tJR3gybVRJcmNnVkJQSmdZb3A5cW5TcWNYdWJfRVFUS3NGdE5HaWdzVUZuRHFGTlEiLCJraWQiOiJjSThwQnZXZEhnY3ZsZG1JN0hYYlBNZkZoU0trZkFDSWJvZnNENnEySnRFIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXNfc3VwcG9ydGVkIjpbImF1dG9tYXRpYyJdLCJjb2RlX2NoYWxsZW5nZV9tZXRob2RzX3N1cHBvcnRlZCI6WyJTMjU2Il0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9zcGlkQ29kZSIsImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9uYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2ZhbWlseU5hbWUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvcGxhY2VPZkJpcnRoIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvdW50eU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGF0ZU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZ2VuZGVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvbXBhbnlOYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L3JlZ2lzdGVyZWRPZmZpY2UiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZmlzY2FsTnVtYmVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2l2YUNvZGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvaWRDYXJkIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L21vYmlsZVBob25lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2VtYWlsIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2FkZHJlc3MiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZXhwaXJhdGlvbkRhdGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGlnaXRhbEFkZHJlc3MiXSwiZ3JhbnRfdHlwZXNfc3VwcG9ydGVkIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXSwiaWRfdG9rZW5fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIkVTMjU2Il0sImlzc3VlciI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjAxXzRhSTJMdTVnZ3NFbG1Sa0VfU19hODNWX3N6WFUwdHhWNGRiMmhtSjhIUjFZMnM3UHNaWjUtZW1HcG5UeWRHclIzbi1RRXhlRUVJY0Z0X2EwNlJ5aWluazM0UlFjS29HWFVEQk1CVTBCdThHN05jWjk5WVg2eWVHOXdGaTR4cy1XdmlUUG10UHFpamt6NmptMV9sdFdEY3dia3Rma3JhSVJLS2dnWmFFbDlsZHRzRnIyd1NwaW4zQVh1R0lkZUowaFpxaEY5Mk9EQkxHakpsYUlMOUtsd29wRHk1NmFkUmVWbnJhYXdTZHJ4bXVQR2o3OElFQUROQW1lMm5RTnZ2OVVDdTBGa0FuNVN0MWJLZHMzR3B2MjZXMGtqcjFnWkxzbVFyajlsVGNEa19LYkF3ZkVZX19QN3NlNjJrdXNvU3VLTVRRcVVHMVRRcFVZN29GR1NkdyIsImUiOiJBUUFCIiwia2lkIjoiZEI2N2dMN2NrM1RGaUlBZjdONl83U0h2cWswTURZTUVRY29HR2xrVUFBdyJ9XX0sInNjb3Blc19zdXBwb3J0ZWQiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXSwibG9nb191cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RhdGljL3N2Zy9zcGlkLWxvZ28tYy1sYi5zdmciLCJvcmdhbml6YXRpb25fbmFtZSI6IlNQSUQgT0lEQyBpZGVudGl0eSBwcm92aWRlciIsIm9wX3BvbGljeV91cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9lbi93ZWJzaXRlL2xlZ2FsLWluZm9ybWF0aW9uLyIsInJlcXVlc3RfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWVzdF91cmlfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWlyZV9yZXF1ZXN0X3VyaV9yZWdpc3RyYXRpb24iOnRydWUsInJlc3BvbnNlX3R5cGVzX3N1cHBvcnRlZCI6WyJjb2RlIl0sInN1YmplY3RfdHlwZXNfc3VwcG9ydGVkIjpbInBhaXJ3aXNlIiwicHVibGljIl0sInRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kc19zdXBwb3J0ZWQiOlsicHJpdmF0ZV9rZXlfand0Il0sInRva2VuX2VuZHBvaW50X2F1dGhfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwidXNlcmluZm9fZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwicmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19LCJhdXRob3JpdHlfaGludHMiOlsiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyJdfQ.n4Iut7R3JwLSCnH0PMoF3huC0Ie_XBqvKX666OJqw01XMWSD7fgwGmSxhd7DoJ4dhQi31iLGuvYAmd0jct6fY6Q2MXVOGT8_jYh8roAyDDP-MdfmOHp0OfAyx8guuiELM-oyfNdRlcWtP0JRxWLW57JmR572Xr-UcOV8mpbYFkUJ0pixYZGMtYd1qLUahutSurD0I-6mCnEc5OiFctFwXjVcJ5yVby0qc5WMEKlzneLJifzgpJu1KVW361_YHlc_lJW3RLr6NOj6WdHUy7EF4MrztdTK8268SOHW66J-tPCLGCGe8JwC_x0OgP39_6SPHrtEgojAd6hQnFtowXVwvg", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4MjcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.fMQvcBAK4hFMJ2EU6dIR4wHTfNj_8yxohS_QcPHSPuFgMwqnhmAou6xDpv3L0TsibuU7Gnc4GRc2El8_9wVuXsUJOsAa2DpDJg6zoIa-XmLKjFKTpRDj735vcZb_wJqlXPTWI3AGRb1xAUKYF7BIg0KxIDjzOkLqkz8-XfmyHhESgnVXudITRaFad1nijYb1jb7ivLvgV3wdZ5IsKDaDV5Ys9ICTmSnMAEEmwYKWltWHj4bcqLs_diXL14wTJyzySvqG7FwSrVOS4qTdlfEqMuxOJ0b4Nr7L92DtG9KxxdMluBLZDmRwoL3rKu24vDvgfzftAxaoR57QH3IC4Qvp8A", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoiMUFZR0YwQ19qNUNQZVlNUkhfbWtobll0bnZNX0NtZGxXU0ZISzlZRWFzM2dKMTkyMkRuaEZ4M0VJdzFVLWtad3c3YmdOejZDMWxfMWN5amtnQlN1V3hPYk9iSzR6VkxaQkdVWmZYTUJORm0yaGRyNVZvTEtMZW10WkhwQk9tZHN4UjFSM1RKMzBEMHZZLUxKYlV0cnd1UkM4b09DWUk1d2hjRWM4QjR1dEVleDNXNmRDakJJanNHZmRKSXFaSGhmTE4zeHdQTU9qa0c1QV95OFduVFZmR3E5T1VldWFVbjMtUFZzM085TE1wT0JsYVQ3R3JlWGdVcVdBVy16eFVDc2lISFVWbDl1SUFHaTVPSHVrSXVCczJDbEFsTVhfUzZtYk43XzdLSUd4Mm1USXJjZ1ZCUEpnWW9wOXFuU3FjWHViX0VRVEtzRnROR2lnc1VGbkRxRk5RIiwia2lkIjoiY0k4cEJ2V2RIZ2N2bGRtSTdIWGJQTWZGaFNLa2ZBQ0lib2ZzRDZxMkp0RSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF3TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRFEzTENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5USHk5WWJ1Q0w0aTJUWEMyQUQtRGJqQTdQUzRqOWJFVHd1eFl6QjluV2FmSUZtV3NEeG5kSkxJNnIyZ2ZnVTVWdUJFaTRQU3ZMamh3cUtpQ2NTcnR3UkI0U2d2WnhuM2kteHZSMXFFeUJTOTZCTjgwYml6MW1BdFNwLXk3NlFvU2FDYl9xb2k1cVdHUnctMHMyVVdPUWlnLTBiZ0tJWEgzS3J0OTB5N2U2NjVsR1NnMWU3cDMzenNOSWVDcGN0N3JiNV9rUEU5N21sTkdVX2F4SHljVXNGYXg4MzlUaFZNREM0MFlfLVg4S1ZFcDNYWWwzYUlrdmxRVjgwQ2t5Q1NHY29LR0llYldXWVhLV3dhRGJfY19HS0FaQWJFTTItZldQYlpSakp4STFpVDZjd3FaVUk5elVoMzhHWm1nSmtNLTlSWE1rSGV1SktxZUFfRUJvUl92bEEifV19.hz3VNTBPEq08hstWh8KwBhNP9OnwWlS6pn-NXXG64O8FvmXsUJ8XNVmPeLyV9QtPwbSMxXs3ZZYOjvzR7fNAeCLHTQx04r7Is-tdFnAPvsN68qMbWeVtmOPS78vyLdqz4-eDA6YN49xgiCs5XHO5pyrJwU6CcznPKSJAFp40042poX8h7BU4Yx9QXKd3DedwoPfI_3pOLP53zUj4qimRJRt-3BENRu_vmFb-M4MF66ihF2raZlgs9ujn9xQ4fmpPuNQk2nxJ1cgco-5h9NYlTP8lw8cOoPKNiDp5obAf0XOmFmoxJ2Rm1RMjBpYvVDwwXO0yxZvHCJ3Zg5CPQrxxrQ" + ] + ], + "jwks": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "d": "b44j0kQ9Bhp3guWVMw-0oxK2-jTd7Gluh7Dcs5HNjSx5Tf4Kl8YMSo9czVyMY4qAdllYK3j2ejjO-iJ_52v6OO1d9MO2PEHk8U0IVlsWPScew9rs6bmzCukyU_WHMGWOcz_z_MA7DhPDRXjjpl_SeR6EovjStl77kUSEJ0qaJDvGelNimnMRBBsDgtDUMbOIzng82GclTsRkv8b041G0Q32XJ8YcJxGOlvWdr-q36fXJua0joshH0e2LilTtftjHCbgPdg1a6MGChCrgeTFTi6ihifMwcxINF-hSFcxA2WLaECCvMsjB40bd51wPfF0AiK5JvHLyJsAV6OzD9pf32Q", + "p": "_92f7QZr4IKRgeTpr49RG5V53A4PE0QW-4IBETZaaI6ymvvqTL1ik28qNVStR5xT6n3r7-_y3IHQQOPO0r8lbGvqYonVIuCUZaz66_QuZg4Gnm61Uyec8ecXQV3rsvMMwpHU_3RRB5RXGeDwWq9CAFpYERQGxf6naEeuurP1usM", + "q": "1CKCSTiSABX1OtfkiKcJV0PvhACTuoHSGW62TpqtdOxHsopb2kph2XM82Kt10jJDESosQcPTXc7ttTrYsfTSKva3kvRXrwcWzC4yMoacxaqyHKbatBValkMSMaVeRabtzECulHyxbK6bsLKRUAD0thQuUs_WSITWSPPty2ygkKc", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ], + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8000/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8000", + "policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8000/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8000/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8000/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8000/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8000/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "client_registration_types_supported": [ + "automatic" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "https://attributes.eid.gov.it/spid_code", + "given_name", + "family_name", + "place_of_birth", + "birthdate", + "gender", + "https://attributes.eid.gov.it/company_name", + "https://attributes.eid.gov.it/registered_office", + "https://attributes.eid.gov.it/fiscal_number", + "https://attributes.eid.gov.it/company_fiscal_number", + "https://attributes.eid.gov.it/vat_number", + "document_details", + "phone_number", + "email", + "https://attributes.eid.gov.it/e_delivery_service", + "https://attributes.eid.gov.it/eid_exp_date", + "address" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "01_4aI2Lu5ggsElmRkE_S_a83V_szXU0txV4db2hmJ8HR1Y2s7PsZZ5-emGpnTydGrR3n-QExeEEIcFt_a06Ryiink34RQcKoGXUDBMBU0Bu8G7NcZ99YX6yeG9wFi4xs-WviTPmtPqijkz6jm1_ltWDcwbktfkraIRKKggZaEl9ldtsFr2wSpin3AXuGIdeJ0hZqhF92ODBLGjJlaIL9KlwopDy56adReVnraawSdrxmuPGj78IEADNAme2nQNvv9UCu0FkAn5St1bKds3Gpv26W0kjr1gZLsmQrj9lTcDk_KbAwfEY__P7se62kusoSuKMTQqUG1TQpUY7oFGSdw", + "e": "AQAB", + "kid": "dB67gL7ck3TFiIAf7N6_7SHvqk0MDYMEQcoGGlkUAAw" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8000/oidc/op", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:47:27.824Z", + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 42, + "fields": { + "created": "2022-04-07T18:19:47.553Z", + "modified": "2022-04-07T18:19:47.553Z", + "sub": "http://127.0.0.1:8000/oidc/rp", + "trust_anchor": 117, + "exp": "2022-04-23T16:20:27Z", + "iat": "2022-04-07T18:19:47.553Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6Ims1NEhRdERpYnlHY3M5WldWTWZ2aUhmLTJxTGNGVXRwd1kycmd4Qms4OE0iLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJwbl9JY2hDNjZTRlFNaGJUSEx0YkQ1OGpLaVlZdllvN1M0d2pQanpFQ011MjdjNkZKVkZOWHRsdWJ0YjdzQzYtV1RRMUh2NHJTUWRQaGFmSmJJeGEzMlI1MXNSUXBrVHIzSkZNWVA3eDIyRFJRRF9peHRRSlJhaUh3LW5wblo4cWdWSEpfdDRnUlRjNEhKa2VoQkxHdjQtckhWQUt6RmlRTlUxdTJBRncxZldNbk1ING9iX3B5aXNYVmdja3UzZHkxNGw3c1lTQU5scFh1ZllfcW5rUUZUdjB3TUgtQzZJemwtYWtFTlMyVUhwdlRMaGZDQlZLUHJGWEp4dWw0WERiVXdVYnZOWlV4VGVybkV4OGxWNWd4Q1NnS1NCRWdvSDlNZ3BEMVlXRlBiQW53aTdwN2U3TU5HejVsSDdlREZLa1BRaFhMV0FCVThVdkVJSVd5QTk1U1EiLCJraWQiOiJrNTRIUXREaWJ5R2NzOVpXVk1mdmlIZi0ycUxjRlV0cHdZMnJneEJrODhNIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiYXBwbGljYXRpb25fdHlwZSI6IndlYiIsImNsaWVudF9pZCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjVzNHFpMVRhLXNFdUtiNXJKOFR6SG15R0thU3U4OXBJWElpNnc0RWt4NkdMNTZtSkRORV9NV0pIc0ZqV1hhamZNZE1RbVpyU1hBdkx0WHhtYmhVdWk5TXFfSW9ybWhtRXl5RUpTMFN5RTlVS1R4V3ppMHlkX25fQzdPakZCaE0tMFp5VWxnbDgxRV9zci0zNVAxQTZiNVdTWXdNdlJTUi1QOXl4X05JLVhCUTQ4R196ZG1rM0NidXV6WnNYWnFxZ2o1VTdPR1dILTRIdW9zbjluSDNGVmt3WDBPbFdrZ1dNLUo5REVXekdCamw5aGZiYnJNdE1fb2JsakhMMk5mVDZSSllFUjJJcGRJOFJDeVFTM3NNUHQ2WkhEc2ttdU5seU1ETkFUQ0NoWFFKTG5sdHdFanhjZ3Z6andfRzlKMjVEd2ZkZlZFaERGXzBrQ3A0NFVNbVMzUSIsImUiOiJBUUFCIiwia2lkIjoiMkhub0ZTM1luQzl0amlDYWl2aFdMVlVKM0F4d0dHel85OHVSRmFxTUVFcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.ZQj5t0G8aocCJe21Tzqu0cy0KtftbAgOacEyCYwdEnldrfnG4NSHxkSEJxLfSjD6wDynktR-LfimvTifvRnVdQaFvOR7spCtKgfR1pAxYTG_UWFVhpGlPUC2gJObOa64ypr6aSQaOwaJh8LfPAYtj4rNcMGpqqdc-ZmgvozghEsGcXsyYGz5FgFOgh8QVuXhQM6XOS0aXqN2ExgwMD0XY4BxBNOkhH7y25vH7CLpawBhv5bsTYtIm6oKj978_EVm0W41CPvpAaieoG3I2ZzhrDL3Em7SS0BquEQTLH5iD8gixbcLMVlTIr-gTKO-LrWaC5Q1hGAIqWPYvlulKyfqxQ", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4MjcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.fMQvcBAK4hFMJ2EU6dIR4wHTfNj_8yxohS_QcPHSPuFgMwqnhmAou6xDpv3L0TsibuU7Gnc4GRc2El8_9wVuXsUJOsAa2DpDJg6zoIa-XmLKjFKTpRDj735vcZb_wJqlXPTWI3AGRb1xAUKYF7BIg0KxIDjzOkLqkz8-XfmyHhESgnVXudITRaFad1nijYb1jb7ivLvgV3wdZ5IsKDaDV5Ys9ICTmSnMAEEmwYKWltWHj4bcqLs_diXL14wTJyzySvqG7FwSrVOS4qTdlfEqMuxOJ0b4Nr7L92DtG9KxxdMluBLZDmRwoL3rKu24vDvgfzftAxaoR57QH3IC4Qvp8A", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDcsImlhdCI6MTY1MDcyODg0NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoicG5fSWNoQzY2U0ZRTWhiVEhMdGJENThqS2lZWXZZbzdTNHdqUGp6RUNNdTI3YzZGSlZGTlh0bHVidGI3c0M2LVdUUTFIdjRyU1FkUGhhZkpiSXhhMzJSNTFzUlFwa1RyM0pGTVlQN3gyMkRSUURfaXh0UUpSYWlIdy1ucG5aOHFnVkhKX3Q0Z1JUYzRISmtlaEJMR3Y0LXJIVkFLekZpUU5VMXUyQUZ3MWZXTW5NSDRvYl9weWlzWFZnY2t1M2R5MTRsN3NZU0FObHBYdWZZX3Fua1FGVHYwd01ILUM2SXpsLWFrRU5TMlVIcHZUTGhmQ0JWS1ByRlhKeHVsNFhEYlV3VWJ2TlpVeFRlcm5FeDhsVjVneENTZ0tTQkVnb0g5TWdwRDFZV0ZQYkFud2k3cDdlN01OR3o1bEg3ZURGS2tQUWhYTFdBQlU4VXZFSUlXeUE5NVNRIiwia2lkIjoiazU0SFF0RGlieUdjczlaV1ZNZnZpSGYtMnFMY0ZVdHB3WTJyZ3hCazg4TSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJzY29wZSI6eyJzdXBlcnNldF9vZiI6WyJvcGVuaWQiXSwic3Vic2V0X29mIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIiwicHJvZmlsZSIsImVtYWlsIl19LCJjb250YWN0cyI6eyJhZGQiOlsiY2lhb0BlbWFpbC5pdCJdfX19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EUTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5LkxRVGxMQ0NoY255eVNGVkZyREJEVmJpNFBPVk85N3FaNEM3NWdkQVY1T3FHalc2NkZibnlTRkxsSTVTWXBWM0lmN2M2anZEVWpxVzQ3TGFFQ1VMM0RJWVdFNEcwQXZrWWN3SUhXSXNDZTFhTTVobDJpTGNCcjVWcDFINVNKMHllWVNWLUF2TklkTURoZTJqV2JNbHhVQ0JIVUxEWmRibkt3a1YyRFRIWXJfMXZ3c2prU1UxSjc4eVRrelBxSi1Wa0lla3U3ZFZLTFl2eGxYY2NFWUF4dEV4X3NERldCWVowZlhDd3ZSM0tleXdwdkZoNVNGRnJBVGVTcE0tem40Yk56UUZpV002djkxUDFQWDFYdTgzWkJ4NXZtSjRYRVhqRTZ3RFNGWVYxYjhVWk9EVWgwQjc3QnFFTXpQMEhHN09JT3lLWHByZk1GdU8zM2xFcm5WendsUSJ9LHsiaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHJpdmF0ZSIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EUTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkF2Y0hKcGRtRjBaU0lzSW14dloyOWZkWEpwSWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5JTEFlWDd1MWRNclQzZWNGZkV2ZWVVX0llXy1EbUR4c1BoZ0M3OHZfcWh5VVp1Ykx5cmliUHNDY2ZIQ09tSTFtZFl0REpVbEhoeDBMQTVLMkM2MjQwdEpjMUlVVjIzS190U0x6T3dmY0VsTVByWmtYNTQzdFBBWkl4TWt5RUs1eFE1bGVuMkRSMFVuaUxMYTlBdGFhRVlyV1VRX01YajBkNjF3Vy0xLUlzeU9Ic2JtdzVjRjB6OU1feXRlMVhXa3VEbzVZeHB3dVZkM0xSRnZ6VTJBd1VGamdNVVVmdmZld1dTU2I1cndhb3JOMVg5bmRSLU1wU3BHaURWa1M3c1hRTG8zdFFGLVBWMXE1Nm9od3g0V29fdnE2QmFYU3hkcVhpNFk5YzhfUTJNTlBjMFJDT2h3QnlwcVl2U3RKbm9KRV9xWkxWUU5sZURNZzVzdEI3aURzWncifV19.ic8RmrSl88jM5JALeDsFLBD-z0zmBU7tv5VxHewXewk0NFR-n_HRZdLKvxvqZKVkt5EeFCTr5qmyJaOjdAj7iFwZ408Lw9Bo0wG4Ex_QhWFrfbJlu2lKJ_G056c6hZbyEEMdRexxGAh1-8IWHtXjHsQbEkif1WMOrqrOMd3HY2z5i0UBeQ43Od8tMkWGL9TyFPjjKXra76t7SRNqa9-hYI5bOErLRJBLNRGyf7VxSVwrFobL245h4-sel_w7utgouduP2x1dfJKD3ylBdkVSB9YsDESM-pssT334v_g40pHwiYq0LudwBEQ1e-dfqp0mVcC0LNrkCLphL1IL2vuIyQ" + ] + ], + "jwks": [ + { + "kty": "RSA", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "e": "AQAB", + "d": "jOvIjuqkGF-OzeZNpprY1t79V1ZJSFtwFmA1EB9EWKF7YcmTHeOzVZ04f-3LtvHJQB0U_PdpUXUzlE9QB2TAISWcje84x5G8A8Ki39HIiMJoOTYZTen3MxMSXfpkNXma8ztzeRkuPQcgoevjTSvLNiV2UegGS7CF1eeE8qQ9iYjeimPSnfVeLx70L9Rat9-2cs3tqxkPOPPechnKrLJneVbxSmimiAEOQ238gGyEwmlfEGPn3OiIdU5oT-qvyp2KasmLucNgQxGLCkc5ppC_RsstQyNjs8bj88bjq3ahVDCiCFs8n6iRHAEZC1CM7xcEyZjyJ9ozC5nB-Pw3hLBSdQ", + "p": "0LeDPVA0DOSV3Gy3M1t5JxPMmPsgsCbx8y1thLuP21FOiVwRixRsXW10CxH56mX1qS9WVodlcCsqy1U-7yGJK9r-De8FvQtS8hbKEiVGMW61qIcMCv8krWOk5qU7uhxHLTL6qkvCsCpLdHeR7x842Aq3AnMCsNuWpLl3G4c0Cps", + "q": "zDfdUHIR1PvvBGleEnJFqe0Kw8bW9dOEGusZJ4bDoz61QRyn149Y64b8VW1f4kp1aGBySDm40BgnvPJtTMY0Bm-dPmL7XupsTyt-WHLmD178HQmsVTVIL0VLEIm0yKX7SdpgBOV9FFpHAkn1Mq3H0-tm48DwhCyi-84_bkc2h-s", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ], + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8000/oidc/rp", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "5s4qi1Ta-sEuKb5rJ8TzHmyGKaSu89pIXIi6w4Ekx6GL56mJDNE_MWJHsFjWXajfMdMQmZrSXAvLtXxmbhUui9Mq_IormhmEyyEJS0SyE9UKTxWzi0yd_n_C7OjFBhM-0ZyUlgl81E_sr-35P1A6b5WSYwMvRSR-P9yx_NI-XBQ48G_zdmk3CbuuzZsXZqqgj5U7OGWH-4Huosn9nH3FVkwX0OlWkgWM-J9DEWzGBjl9hfbbrMtM_obljHL2NfT6RJYER2IpdI8RCyQS3sMPt6ZHDskmuNlyMDNATCChXQJLnltwEjxcgvzjw_G9J25DwfdfVEhDF_0kCp44UMmS3Q", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8000/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8000/oidc/rp", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:47:27.958Z", + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 43, + "fields": { + "created": "2022-04-16T13:13:58.661Z", + "modified": "2022-04-16T13:13:58.661Z", + "sub": "http://127.0.0.1:8002/oidc/op", + "trust_anchor": 117, + "exp": "2022-04-23T16:20:28Z", + "iat": "2022-04-16T13:13:58.661Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IlpoU29hT2VkVk9zQnc2bTJ2Y2x3U1dpcXFuR2VPU3RULWdVY2xvdF82N3ciLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0ZzNhRTlmZDZsdFh6TnJpbV80Q0dLWVdmQzNucWNfdHY0WGphdzQ3M0NjcmZpcUR6ZVRLSGZSZmJ2YnFiMUR3bUk0ZnZDT2k1MUVWY21LTG5UaHpYeW5BVXB5VXZzd3ZMOF91emdEV08xUlNtQkcxTDBSRS1Da0tpaDRrZVhoMWt1OWhOczFfVi04MmRLNW9MT1ItVkpMbmhaQ3FUaFI0SEg2VHFMampXcnJYZnNIVlJ2YXVKaWxYNkZ4R2I1SkZvYzI3Vnh4ZEgyYzZQMlNIQzl3dUI4dG5mRzdPU3JTRDFnMmg3bFRYYklmbTc4YTBvcDY3ZF9qdXB6a29Lb0NUbXprUjJ6dndUVlZEZDk5dmtETFkyV1htYjhoSXdHNmRRWlhZbGtocUFZS3pUdVRaMHRqVmgwT3JxZkR4WXRMSDN3UXp6YUpPUmV3WllxTHlCMDlQOHciLCJraWQiOiJaaFNvYU9lZFZPc0J3Nm0ydmNsd1NXaXFxbkdlT1N0VC1nVWNsb3RfNjd3In1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNvZGVfY2hhbGxlbmdlX21ldGhvZHNfc3VwcG9ydGVkIjpbIlMyNTYiXSwiY2xpZW50X3JlZ2lzdHJhdGlvbl90eXBlc19zdXBwb3J0ZWQiOlsiYXV0b21hdGljIl0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsImJpcnRoZGF0ZSIsImdlbmRlciIsInBob25lX251bWJlciIsImh0dHBzOi8vYXR0cmlidXRlcy5laWQuZ292Lml0L2Zpc2NhbF9udW1iZXIiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiLCJlbWFpbCIsImFkZHJlc3MiLCJkb2N1bWVudF9kZXRhaWxzIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLmVpZC5nb3YuaXQvcGh5c2ljYWxfcGhvbmVfbnVtYmVyIl0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJhdXRob3JpemF0aW9uX2NvZGUiLCJyZWZyZXNoX3Rva2VuIl0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOlsiUlMyNTYiLCJFUzI1NiJdLCJpc3N1ZXIiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsInVzZSI6InNpZyIsImUiOiJBUUFCIiwibiI6InJKb1NZdjFzdHdsYk0xMXRSOVNZR0lKdXpxbEplMmJ2Mk4zNW9QUmJ3Vl9lcGpOV3ZHRzJacUVqNTNZRk1DOEFNWk5GaHVMYV9MTndyMWtMVkUtalhRZTh4amlMaGU3RGdNZjFPblN6cTl5QUVYVm8xOUJQQndrZ0plMmpwOUhJZ01fbmZiSXNVYlNTa0ZBTTJDS3ZHYjBCazJHdnZxWFoxMlAtZnBiVnlBOWhJUXI2ck5UcW5DR3gyLXY0b1ZpR0c0dV8zaVR3N0QxWnZMV21ybVpPYUtuREFxRzNNSlNkUS0yZ2dRLUFpYWhnNDhzaTlDOURfSmduQlY5dEoyZUNTNThaQzZrVkc1c2Z0RWxRVmRINmUyNm16NDY0VFpqNVFnQ3daQ1RzQVFmSXZCb1hTZENLeHBudnNGZnJhano0cTlCaVhBcnl4SU9sNWZMbUNGVk5odyIsImtpZCI6IlBkMk45LVRael9BV1MzR0ZDa29ZZFJhWFhsczhZUGh4X2RfRXo3SndqUUkifV19LCJzY29wZXNfc3VwcG9ydGVkIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIl0sImxvZ29fdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL3N0YXRpYy9pbWFnZXMvbG9nby1jaWUucG5nIiwib3JnYW5pemF0aW9uX25hbWUiOiJTUElEIE9JREMgaWRlbnRpdHkgcHJvdmlkZXIiLCJvcF9wb2xpY3lfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvZW4vd2Vic2l0ZS9sZWdhbC1pbmZvcm1hdGlvbi8iLCJyZXF1ZXN0X3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVlc3RfdXJpX3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVpcmVfcmVxdWVzdF91cmlfcmVnaXN0cmF0aW9uIjp0cnVlLCJyZXNwb25zZV90eXBlc19zdXBwb3J0ZWQiOlsiY29kZSJdLCJyZXNwb25zZV9tb2Rlc19zdXBwb3J0ZWQiOlsicXVlcnkiLCJmb3JtX3Bvc3QiXSwic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOlsicGFpcndpc2UiLCJwdWJsaWMiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJ1c2VyaW5mb19zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfX0sImF1dGhvcml0eV9oaW50cyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIl19.WnWh9OkfAzb6YCo-yrnV9-7K_I3fucMVxNuw7tr7V43nVvgGJd4BqBSqc8Q0nKgzLcnNtnhf3MRiJ-hVkUL6vhaxt6jsXWvJupRQDf7f6-AgeNPvsHNvlrjoUkVNvTDS3jPUwXtnW7k7xQLEpdoxFW2ggbeG0zLfyyBypEGW3IZa1fDxlnEWvHH7Kctu55OBT_PC514HlKHWBYrBLYMODDoV-PCfOochOroSj3nM1WlDg50OoPXdjRUvM4eRxOmjEOF4kdXK2AKXY8wGMhJere07XnFk7TjdfLMNUdGaDR0aiPYoBkshq7Vhpy8pXt-JdN7RKKjjK-WAFLdEwASDtQ", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4MjgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.LA69BlKROnjaOO3qBQuvfFpFOzEEPCnyvU0gDW4j_20tUqvdJMLfdEAtxwoBg7xBXYhImHnG5mGLvL1zvZWM8LWAzpPq4HeXSjsa0b05o819Ix4k3wImiH6JKdzHr2A4P3aaup5mI_0XrN2VqYh8TSIxkJTXCjYmgGa2g11ulv2wwyzVjVIMiq5KQ6EFgJ3CVXGDOfgl5VO_WeaNsp7-ujLbD-6ULOexPI8NQvyth7ObsnD0jkKUQ_fDrNkJfh4lk7ffMT309D5RyWXkdlzNYlo_d4buv9A5AnsUyMCNBQJppDFAYGCwc40TC7pW4hbANSZQCbY6C4fBUp3ED_88uA", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NDgsImlhdCI6MTY1MDcyODg0OCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwibiI6InRnM2FFOWZkNmx0WHpOcmltXzRDR0tZV2ZDM25xY190djRYamF3NDczQ2NyZmlxRHplVEtIZlJmYnZicWIxRHdtSTRmdkNPaTUxRVZjbUtMblRoelh5bkFVcHlVdnN3dkw4X3V6Z0RXTzFSU21CRzFMMFJFLUNrS2loNGtlWGgxa3U5aE5zMV9WLTgyZEs1b0xPUi1WSkxuaFpDcVRoUjRISDZUcUxqaldyclhmc0hWUnZhdUppbFg2RnhHYjVKRm9jMjdWeHhkSDJjNlAyU0hDOXd1Qjh0bmZHN09TclNEMWcyaDdsVFhiSWZtNzhhMG9wNjdkX2p1cHprb0tvQ1RtemtSMnp2d1RWVkRkOTl2a0RMWTJXWG1iOGhJd0c2ZFFaWFlsa2hxQVlLelR1VFowdGpWaDBPcnFmRHhZdExIM3dRenphSk9SZXdaWXFMeUIwOVA4dyIsImUiOiJBUUFCIiwia2lkIjoiWmhTb2FPZWRWT3NCdzZtMnZjbHdTV2lxcW5HZU9TdFQtZ1VjbG90XzY3dyJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF5TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRFE0TENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5iQ3VlWmJDeUxMR1JSRUNUVS1QaTctdGtnSW43NGdvZHU5bW16YlVjRW5ER2xZUmpabHJLOUlXakdsb0Z1UUpOeW1RbmRXdnlFRHpISUlISVhwYUpxUTRxd3FyN2hqbVphSEMybXJFYlVBcEQ5TUU3MnJveFdvWUw0MjNJWnprWkU0QjBsMHhBemNvSWl0S0l2WmI5ZWxEaEVneUptWWdhV0ZWM0U0N2NFNHoxRGxPZWNIanA4dXR4ZEhhd0h6Tjc0bk9GNzktRFBlNnd0T1FuckprVUs0d1Bja3J3WmwtaFpsNURJbDJYUDFBMzBPRnBqUGZyMFhaXzFDU2p5TTBST196NnE1NDhXS3J2Ry1KbXBEaVl3NHJZN0Q5RkRiSEFsSlFNTC1STDdNTk1WZVRua0swNUVfWHNkTjZHRUU5TGZmcTFKRjk1SzJsTHBPWTRRQTNBcGcifV19.BtyhU0RYjVKig081cbTtN7cpCLJP6sQ9V0GTMdkoWu3D5fR8zUtdbxOK6f726k_at-6ftMQtetv85F0-u7TQG9aZqdRXmZsMsQi9HtUeGhPrfjUFYqEIctocFBhnHOiyh8sQiXRFOklRPHlui1IVa47XFmM4T7Z8tPzmPFUCucxDDkpMnEA5rdOxOfiM1cCqYJi7XVopwYJXPvMqiOqFB8QB0ESKaIOHMskvAU-208rnwxCjWS_dglmUBRdSuGuLpHUw8pjt7Z2T0oN646nwRkLMLB3oWMhaOD3pFsshpyjg2pL5LTTSvFm8wJEejvwz-guG7L283ODswMAe9y5HHQ" + ] + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ] + }, + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8002/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8002", + "policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8002/static/images/logo-cie.png", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8002/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8002/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8002/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8002/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8002/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "client_registration_types_supported": [ + "automatic" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "given_name", + "family_name", + "birthdate", + "gender", + "phone_number", + "https://attributes.eid.gov.it/fiscal_number", + "phone_number_verified", + "email", + "address", + "document_details", + "https://attributes.eid.gov.it/physical_phone_number" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "e": "AQAB", + "n": "rJoSYv1stwlbM11tR9SYGIJuzqlJe2bv2N35oPRbwV_epjNWvGG2ZqEj53YFMC8AMZNFhuLa_LNwr1kLVE-jXQe8xjiLhe7DgMf1OnSzq9yAEXVo19BPBwkgJe2jp9HIgM_nfbIsUbSSkFAM2CKvGb0Bk2GvvqXZ12P-fpbVyA9hIQr6rNTqnCGx2-v4oViGG4u_3iTw7D1ZvLWmrmZOaKnDAqG3MJSdQ-2ggQ-Aiahg48si9C9D_JgnBV9tJ2eCS58ZC6kVG5sftElQVdH6e26mz464TZj5QgCwZCTsAQfIvBoXSdCKxpnvsFfrajz4q9BiXAryxIOl5fLmCFVNhw", + "kid": "Pd2N9-TZz_AWS3GFCkoYdRaXXls8YPhx_d_Ez7JwjQI" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8002/static/images/logo-cie.png", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "response_modes_supported": [ + "query", + "form_post" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8002/oidc/op", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:47:28.224Z", + "is_active": true + } + }, + { + "model": "spid_cie_oidc_authority.federationentityprofile", + "pk": 1, + "fields": { + "created": "2022-02-10T17:47:04.952Z", + "modified": "2022-02-10T17:47:04.952Z", + "name": "SPID Public SP", + "profile_category": "openid_relying_party", + "profile_id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark_template": { + "iss": "$.issuer_sub", + "sub": "$.sub", + "iat": 1579621160, + "id": "https://www.spid.gov.it/certification/rp", + "mark": "https://www.agid.gov.it/themes/custom/agid/logo.svg", + "ref": "https://docs.italia.it/italia/spid/spid-regole-tecniche-oidc/it/stabile/index.html" + } + } + }, + { + "model": "spid_cie_oidc_authority.federationentityprofile", + "pk": 2, + "fields": { + "created": "2022-02-23T10:54:19.124Z", + "modified": "2022-02-23T10:54:19.124Z", + "name": "SPID Private SP", + "profile_category": "openid_relying_party", + "profile_id": "https://www.spid.gov.it/openid-federation/agreement/sp-private", + "trust_mark_template": { + "iss": "$.issuer_sub", + "sub": "$.sub", + "iat": 1579621160, + "id": "https://www.spid.gov.it/certification/rp/private", + "logo_uri": "https://www.agid.gov.it/themes/custom/agid/logo.svg", + "ref": "https://docs.italia.it/italia/spid/spid-regole-tecniche-oidc/it/stabile/index.html" + } + } + }, + { + "model": "spid_cie_oidc_authority.federationentityprofile", + "pk": 3, + "fields": { + "created": "2022-02-25T16:38:00.936Z", + "modified": "2022-02-25T16:38:00.936Z", + "name": "Identity Provider", + "profile_category": "openid_provider", + "profile_id": "https://www.spid.gov.it/openid-federation/agreement/op-public", + "trust_mark_template": { + "iss": "$.issuer_sub", + "sub": "$.sub", + "iat": 1579621160, + "id": "https://www.spid.gov.it/certification/op", + "mark": "https://www.agid.gov.it/themes/custom/agid/logo.svg", + "ref": "https://docs.italia.it/italia/spid/spid-regole-tecniche-oidc/it/stabile/index.html" + } + } + }, + { + "model": "spid_cie_oidc_authority.federationdescendant", + "pk": 1, + "fields": { + "created": "2022-02-06T18:01:01.998Z", + "modified": "2022-04-23T15:40:32.349Z", + "uid": "autouid-b0caa9d7-da0e-442f-a613-8623acf9d0c1", + "name": "Test Relying Party", + "sub": "http://127.0.0.1:8000/oidc/rp", + "type": "openid_relying_party", + "jwks": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ], + "metadata_policy": { + "openid_relying_party": { + "scope": { + "superset_of": [ + "openid" + ], + "subset_of": [ + "openid", + "offline_access", + "profile", + "email" + ] + } + } + }, + "constraints": {}, + "extended_claims": {}, + "status": "valid", + "status_log": {}, + "is_active": true, + "registrant": [] + } + }, + { + "model": "spid_cie_oidc_authority.federationdescendant", + "pk": 2, + "fields": { + "created": "2022-02-25T16:33:11.970Z", + "modified": "2022-04-23T15:47:08.105Z", + "uid": "autouid-ecee6ac5-0525-4c3e-839e-9da92e6ce5bd", + "name": "http://127.0.0.1:8000/oidc/op", + "sub": "http://127.0.0.1:8000/oidc/op", + "type": "openid_provider", + "jwks": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ], + "metadata_policy": {}, + "constraints": {}, + "extended_claims": {}, + "status": "valid", + "status_log": {}, + "is_active": true, + "registrant": [] + } + }, + { + "model": "spid_cie_oidc_authority.federationdescendant", + "pk": 3, + "fields": { + "created": "2022-03-19T22:36:34.269Z", + "modified": "2022-04-23T15:27:41.661Z", + "uid": "autouid-0b4008cd-b476-452a-b292-6aa3b570b0b3", + "name": "cie provider", + "sub": "http://127.0.0.1:8002/oidc/op", + "type": "openid_provider", + "jwks": [ + { + "kty": "RSA", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "e": "AQAB", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ], + "metadata_policy": {}, + "constraints": {}, + "extended_claims": {}, + "status": "valid", + "status_log": {}, + "is_active": true, + "registrant": [] + } + }, + { + "model": "spid_cie_oidc_authority.federationdescendant", + "pk": 5, + "fields": { + "created": "2022-03-25T15:20:49.175Z", + "modified": "2022-04-23T15:30:23.816Z", + "uid": "autouid-3a6f6af6-9041-4f68-8632-775740fe68f1", + "name": "tel dei tali org", + "sub": "http://127.0.0.1:8001", + "type": "openid_relying_party", + "jwks": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ], + "metadata_policy": {}, + "constraints": {}, + "extended_claims": {}, + "status": "valid", + "status_log": {}, + "is_active": true, + "registrant": [] + } + }, + { + "model": "spid_cie_oidc_authority.federationentityassignedprofile", + "pk": 1, + "fields": { + "created": "2022-02-10T17:56:54.482Z", + "modified": "2022-02-10T17:56:54.482Z", + "descendant": 1, + "profile": 1, + "issuer": 1 + } + }, + { + "model": "spid_cie_oidc_authority.federationentityassignedprofile", + "pk": 2, + "fields": { + "created": "2022-02-23T10:55:20.229Z", + "modified": "2022-02-23T10:55:20.229Z", + "descendant": 1, + "profile": 2, + "issuer": 1 + } + }, + { + "model": "spid_cie_oidc_authority.federationentityassignedprofile", + "pk": 3, + "fields": { + "created": "2022-02-25T16:38:17.563Z", + "modified": "2022-02-25T16:38:17.563Z", + "descendant": 2, + "profile": 3, + "issuer": 1 + } + }, + { + "model": "spid_cie_oidc_authority.federationentityassignedprofile", + "pk": 4, + "fields": { + "created": "2022-03-19T22:36:52.498Z", + "modified": "2022-03-19T22:36:52.498Z", + "descendant": 3, + "profile": 3, + "issuer": 1 + } + }, + { + "model": "spid_cie_oidc_authority.federationentityassignedprofile", + "pk": 6, + "fields": { + "created": "2022-03-25T15:52:12.616Z", + "modified": "2022-03-25T15:52:12.616Z", + "descendant": 5, + "profile": 1, + "issuer": 1 + } + }, + { + "model": "spid_cie_oidc_authority.federationdescendantcontact", + "pk": 1, + "fields": { + "created": "2022-02-13T09:15:26.335Z", + "modified": "2022-02-13T09:15:26.335Z", + "entity": 1, + "contact": "ciao@email.it", + "type": "email" + } + }, + { + "model": "spid_cie_oidc_authority.federationdescendantcontact", + "pk": 2, + "fields": { + "created": "2022-03-25T15:20:49.182Z", + "modified": "2022-03-25T15:20:49.182Z", + "entity": 5, + "contact": "that.email@ciao.it", + "type": "email" + } + } +] diff --git a/federation_authority/federation_authority/__init__.py b/federation_authority/federation_authority/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/federation_authority/federation_authority/__pycache__/settingslocal.cpython-310.pyc b/federation_authority/federation_authority/__pycache__/settingslocal.cpython-310.pyc new file mode 100644 index 0000000..a97ae7e Binary files /dev/null and b/federation_authority/federation_authority/__pycache__/settingslocal.cpython-310.pyc differ diff --git a/federation_authority/federation_authority/asgi.py b/federation_authority/federation_authority/asgi.py new file mode 100644 index 0000000..f33a965 --- /dev/null +++ b/federation_authority/federation_authority/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for example project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'federation_authority.settings') + +application = get_asgi_application() diff --git a/federation_authority/federation_authority/settings.py b/federation_authority/federation_authority/settings.py new file mode 100644 index 0000000..d94b519 --- /dev/null +++ b/federation_authority/federation_authority/settings.py @@ -0,0 +1,81 @@ +""" +Django settings for example project. + +Generated by 'django-admin startproject' using Django 4.0.2. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path +from .settingslocal import * # noqa: F401 + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'federation_authority.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': ['templates'], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'federation_authority.wsgi.application' + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' +STATIC_ROOT = os.path.join(BASE_DIR, 'static') + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/federation_authority/federation_authority/settingslocal.py b/federation_authority/federation_authority/settingslocal.py new file mode 100644 index 0000000..e1bb5c6 --- /dev/null +++ b/federation_authority/federation_authority/settingslocal.py @@ -0,0 +1,106 @@ +import aiohttp +import os + +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +SECRET_KEY = 'visione-cie-authority-local-dev' +DEBUG = True +ADMIN_PATH = 'admin/' +APPEND_SLASH = False + +OIDCFED_DEFAULT_TRUST_ANCHOR = "http://127.0.0.1:8000" +OIDCFED_TRUST_ANCHORS = [OIDCFED_DEFAULT_TRUST_ANCHOR] +OIDCFED_PROVIDER_PROFILE = "spid" +OIDCFED_PROVIDER_MAX_REFRESH = 10 +OIDCFED_REQUIRED_TRUST_MARKS = [] + +OIDCFED_FEDERATION_TRUST_MARKS_PROFILES = { + "openid_relying_party__public": {}, + "openid_relying_party__private": {}, +} + +HTTPC_PARAMS = { + "connection": {"ssl": True}, + "session": {"timeout": aiohttp.ClientTimeout(total=4)}, +} + +LOGIN_REDIRECT_URL = "/oidc/rp/echo_attributes" +LOGOUT_REDIRECT_URL = "/oidc/rp/landing" +LOGIN_URL = "/oidc/rp/landing" + +ALLOWED_HOSTS = ['*'] +AUTH_USER_MODEL = 'spid_cie_oidc_accounts.User' + +INSTALLED_APPS = [ + 'spid_cie_oidc.accounts', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + "bootstrap_italia_template", + 'spid_cie_oidc.entity', + 'spid_cie_oidc.authority', + 'spid_cie_oidc.onboarding', + 'spid_cie_oidc.relying_party', + 'spid_cie_oidc.relying_party_test', + 'spid_cie_oidc.provider', + 'djagger' +] + +TEMPLATE_LOADERS = ( + 'django.template.loaders.eggs.Loader' +) + +DJAGGER_DOCUMENT = { + "app_names": ['spid_cie_oidc'], +} + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +DATA_UPLOAD_MAX_NUMBER_FIELDS = 65000 + +ADMINS = [('Visione', 'devnull@example.com')] + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + }, + }, + 'handlers': { + 'console': { + 'formatter': 'default', + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + }, + }, + 'loggers': { + 'django': { + 'handlers': ['console'], + 'level': 'ERROR', + 'propagate': False, + }, + 'spid_cie_oidc': { + 'handlers': ['console'], + 'level': 'INFO', + 'propagate': False, + } + } +} +SESSION_COOKIE_NAME = 'visione_authority_sessionid' +CSRF_COOKIE_NAME = 'visione_authority_csrftoken' diff --git a/federation_authority/federation_authority/settingslocal.py.example b/federation_authority/federation_authority/settingslocal.py.example new file mode 100644 index 0000000..f8d2696 --- /dev/null +++ b/federation_authority/federation_authority/settingslocal.py.example @@ -0,0 +1,271 @@ +import aiohttp +import os + +import sys +import logging + +from spid_cie_oidc import __version__ + + +if len(sys.argv) > 1 and sys.argv[1] == 'test': + logging.disable(logging.CRITICAL) + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +# SECURITY WARNING: keep the secret key used in production secret! +# CHANGE THIS VALUE +SECRET_KEY = 'lrx(fg&+2e=$l=y8$!£$%$/£%412345234534543--345234-dfdfgsdf-myg%r3z!yjm(lg*l%-z' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +# the path corresponding the admin backend, default if not defined: admin/ +# CHANGE THIS VALUE +ADMIN_PATH = 'admin/' +APPEND_SLASH = False + +# required for onboarding checks and also for all the leafs +OIDCFED_DEFAULT_TRUST_ANCHOR = "http://127.0.0.1:8000" + +OIDCFED_TRUST_ANCHORS = [OIDCFED_DEFAULT_TRUST_ANCHOR] + +OIDCFED_PROVIDER_PROFILE = "spid" +OIDCFED_PROVIDER_MAX_REFRESH = 10 #used in SPID + +# OIDCFED_PROVIDER_MAX_CONSENT_TIMEFRAME = 3600 #used in CIE (seconds) + +# for RP only +OIDCFED_IDENTITY_PROVIDERS = { + "spid": { + "http://127.0.0.1:8000/oidc/op" : OIDCFED_DEFAULT_TRUST_ANCHOR, + }, + "cie": { + "http://127.0.0.1:8002/oidc/op" : OIDCFED_DEFAULT_TRUST_ANCHOR, + } +} + +OIDCFED_REQUIRED_TRUST_MARKS = [] + +OIDCFED_FEDERATION_TRUST_MARKS_PROFILES = { + "openid_relying_party__public": {}, + "openid_relying_party__private": {}, +} + +HTTPC_PARAMS = { + "connection": {"ssl": True}, + "session": {"timeout": aiohttp.ClientTimeout(total=4)}, +} + +LOGIN_REDIRECT_URL = "/oidc/rp/echo_attributes" +LOGOUT_REDIRECT_URL = "/oidc/rp/landing" +LOGIN_URL = "/oidc/rp/landing" + + +FEDERATION_DEFAULT_POLICY = { + "openid_relying_party": { + # TODO: to be customized for each entities, not somethinf to default! + # "client_id": {"value": "https://rp.example.it/spid"}, + # "redirect_uris": { + # "subset_of": [ + # "https://rp.example.it/spid/cb1", + # "https://rp.example.it/spid/cb2" + # ] + # }, + # "organization_name": {"value": "Example RP organization name"}, + # "logo_uri": { + # "one_of": [ + # "https://rp.example.it/logo_small.jpg", + # "https://rp.example.it/logo_big.jpg" + # ], + # "default": "https://rp.example.it/logo_small.jpg" + # }, + # "policy_uri": { + # "value": "https://rp.example.it/policy.html" + # }, + # "tos_uri": { + # "value": "https://rp.example.it/tos.html" + # }, + "grant_types": { + "subset_of": [ + "authorization_code", + "refresh_token" + ] + }, + # TODO: to be customized for each actor + "constraints": { + # "naming_constraints": { + # "permitted": [ + # "https://rp.example.it" + # ] + # }, + + # defines how many intermediaries are allowed to this trust anchor + "max_path_length": 1 + }, + }, + # TODO: TBD + "openid_provider": {}, + "federation_entity": {}, + "oauth_resource": {} +} + +ALLOWED_HOSTS = ['*'] +AUTH_USER_MODEL = 'spid_cie_oidc_accounts.User' + +INSTALLED_APPS = [ + 'spid_cie_oidc.accounts', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + # 'prettyjson', + "bootstrap_italia_template", + 'spid_cie_oidc.entity', + 'spid_cie_oidc.authority', + 'spid_cie_oidc.onboarding', + 'spid_cie_oidc.relying_party', + 'spid_cie_oidc.relying_party_test', + 'spid_cie_oidc.provider', + 'djagger' +] + +TEMPLATE_LOADERS = ( + 'django.template.loaders.eggs.Loader' +) + +DJAGGER_DOCUMENT = { + "info": dict( + title = "SPID/CIE OIDC OpenAPI 3.0 Documentation", + description = "OpenAPI 3.0 Document Description", + termsOfService = "", + contact = { + "email": "contatti@developers.italia.it", + "url": "https://github.com/italia/spid-cie-oidc-django", + "name" : "Developers Italia" + }, + license = { + "name": "CC BY 4.0", + "url": "https://creativecommons.org/licenses/by/4.0/" + }, + version = __version__, + x_logo = { + "name": "Developers italia", + "url": "https://developers.italia.it/assets/icons/logo-it.svg" + } + ), + "url_names": [ + # Federation Authority + 'oidcfed_fetch', + 'oidcfed_resolve', + 'oidcfed_list', + 'oidcfed_trust_mark_status', + 'oidcfed_advanced_entity_listing', + + # Provider + 'oidc_provider_authnrequest', + 'oidc_provider_token_endpoint', + 'oidc_provider_userinfo_endpoint', + 'introspection_endpoint', + 'oidc_provider_revoke_session', + + # Relying Party + 'spid_cie_rp_begin', + 'spid_cie_rp_callback', + 'spid_cie_rpinitiated_logout' + ] +} + +DATABASES = { + # if you need more power + # 'default': { + # 'ENGINE': 'django.db.backends.mysql', + # 'NAME': 'that-username', + # 'HOST': 'localhost', + # 'USER': 'that-user', + # 'PASSWORD': 'that-password', + # 'PORT': '', + # 'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"} + # }, + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +# https://docs.djangoproject.com/en/2.0/topics/i18n/ + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +DATA_UPLOAD_MAX_NUMBER_FIELDS = 65000 + +# email notification on errors +# DEFAULT_FROM_EMAIL = 'fedauth-noreply@DOMAIN' +# SERVER_EMAIL = DEFAULT_FROM_EMAIL +# EMAIL_HOST = 'smtpservice.yourdomain.it' +# EMAIL_HOST_USER = 'myemail@hotmail.com' +# EMAIL_HOST_PASSWORD = 'mypassword' +# EMAIL_PORT = 587 +# EMAIL_USE_TLS = True + +ADMINS = [('name surname', 'user1@DOMAIN'), + ('name surnale', 'user2@DOMAIN'),] + +# LOGGING +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + # exact format is not important, this is the minimum information + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + }, + 'detailed': { + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s [%(pathname)s %(funcName)s:%(lineno)s]' + }, + }, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse' + } + }, + 'handlers': { + 'mail_admins': { + 'formatter': 'detailed', + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + }, + 'console': { + 'formatter': 'default', + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + }, + "daily": { + "class": "logging.handlers.TimedRotatingFileHandler", + "level": "INFO", + "formatter": "default", + "filename": f"{BASE_DIR}/logs/trust_anchor.log", + "when": "midnight", + "backupCount": 96 + } + }, + 'loggers': { + 'django': { + 'handlers': ['console', 'mail_admins'], + 'level': 'ERROR', + 'propagate': False, + }, + 'spid_cie_oidc': { + 'handlers': ['console', 'mail_admins', "daily"], + 'level': 'INFO', + 'propagate': False, + } + } +} diff --git a/federation_authority/federation_authority/urls.py b/federation_authority/federation_authority/urls.py new file mode 100644 index 0000000..bd36692 --- /dev/null +++ b/federation_authority/federation_authority/urls.py @@ -0,0 +1,99 @@ +"""acsia_agent_proj URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.conf import settings +from django.contrib import admin +from django.urls import include, path, re_path +from django.views.static import serve + +from spid_cie_oidc.entity.urls import urlpatterns as entity_urlpatterns +from spid_cie_oidc.authority.urls import urlpatterns as ta_urlpatterns +from spid_cie_oidc.onboarding.urls import urlpatterns as onb_urlpatterns +from spid_cie_oidc.provider.urls import urlpatterns as prov_urlpatterns + +admin.site.site_header = "OIDC Federation Entity Administration" +admin.site.site_title = "OIDC Federation" +admin.site.index_title = "Welcome to OIDC Federation Entity Admin backend" + +ADMIN_PATH = getattr(settings, 'ADMIN_PATH', 'admin/') + +urlpatterns = [] + +urlpatterns.extend(entity_urlpatterns) +urlpatterns.extend(prov_urlpatterns) +urlpatterns.extend(ta_urlpatterns) +urlpatterns.extend(onb_urlpatterns) + +urlpatterns.extend( + ( + path(f"{ADMIN_PATH}", admin.site.urls), + re_path('^static/(?P.*)$', + serve, { + 'document_root': settings.STATIC_ROOT, + # 'show_indexes': True + } + ), + + ) +) + +if 'spid_cie_oidc.relying_party' in settings.INSTALLED_APPS: + from spid_cie_oidc.relying_party.urls import urlpatterns as rp_urlpatterns + urlpatterns.extend(rp_urlpatterns) + + from spid_cie_oidc.entity.views import entity_configuration, resolve_entity_statement + + urlpatterns.extend( + [ + path( + f"oidc/rp/.well-known/openid-federation", + entity_configuration, + name="rp_entity_configuration", + ), + path( + "oidc/rp/resolve", + resolve_entity_statement, + name="rp_entity_resolve", + ), + ] + ) + +if 'spid_cie_oidc.provider' in settings.INSTALLED_APPS: + from spid_cie_oidc.provider.urls import urlpatterns as op_urlpatterns + urlpatterns.extend(op_urlpatterns) + + from spid_cie_oidc.entity.views import entity_configuration + + urlpatterns.extend( + [ + path( + f"oidc/op/.well-known/openid-federation", + entity_configuration, + name="op_entity_configuration", + ), + path( + "oidc/op/resolve", + resolve_entity_statement, + name="op_entity_resolve", + ), + ] + ) + +if 'spid_cie_oidc.relying_party_test' in settings.INSTALLED_APPS: + from spid_cie_oidc.relying_party_test.urls import urlpatterns as rp_urlpatterns_test + urlpatterns.extend(rp_urlpatterns_test) + +if 'djagger' in settings.INSTALLED_APPS: + urlpatterns.append(path('rest/', include('djagger.urls'))) diff --git a/federation_authority/federation_authority/wsgi.py b/federation_authority/federation_authority/wsgi.py new file mode 100644 index 0000000..df85b50 --- /dev/null +++ b/federation_authority/federation_authority/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for example project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'federation_authority.settings') + +application = get_wsgi_application() diff --git a/federation_authority/manage.py b/federation_authority/manage.py new file mode 100755 index 0000000..0cc5bd3 --- /dev/null +++ b/federation_authority/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'federation_authority.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/federation_authority/templates/admin/change_form.html b/federation_authority/templates/admin/change_form.html new file mode 100644 index 0000000..ac83233 --- /dev/null +++ b/federation_authority/templates/admin/change_form.html @@ -0,0 +1,19 @@ +{% extends "admin/change_form.html" %} +{% block admin_change_form_document_ready %} +{{ block.super }} + +{% endblock %} diff --git a/provider/dump_data.sh b/provider/dump_data.sh new file mode 100644 index 0000000..dd3f719 --- /dev/null +++ b/provider/dump_data.sh @@ -0,0 +1,2 @@ +#!/bin/bash +./manage.py dumpdata -e admin -e spid_cie_oidc_provider -e auth -e contenttypes -e sessions --indent 2 > dumps/example.json diff --git a/provider/dumps/example.json b/provider/dumps/example.json new file mode 100644 index 0000000..c13bc4b --- /dev/null +++ b/provider/dumps/example.json @@ -0,0 +1,775 @@ +[ + { + "model": "spid_cie_oidc_accounts.user", + "pk": 1, + "fields": { + "password": "pbkdf2_sha256$320000$FIyN55FCASEozeA1pWYRm1$8QzndgdnJkC7OPhEGPVHrrAxsa5KDoydMkl4zgrn0fs=", + "last_login": "2022-04-23T15:44:06.367Z", + "is_superuser": true, + "username": "admin", + "is_staff": true, + "date_joined": "2022-03-02T22:51:34.537Z", + "first_name": null, + "last_name": null, + "is_active": true, + "email": "admin.cie@example.it", + "origin": null, + "attributes": { + "https://attributes.eid.gov.it/fiscal_number": "TINIT-RSSMRA80A01H501U", + "given_name": "Mario", + "family_name": "Rossi", + "place_of_birth": { + "region": "RM", + "locality": "H501" + }, + "birthdate": "1980-01-01", + "gender": "male", + "email": "mario.rossi@example.it", + "email_verified": "true", + "document_details": { + "type": "cartaIdentita", + "document_number": "CA000001AA", + "issuer": { + "name": "ComuneRoma" + }, + "date_of_issuance": "2021-01-15", + "date_of_expiry": "2031-01-14" + }, + "sub": "6f0f6a5f9d5f4e0e91d875d99b15f3f1c2d7b6a4b0c1d2e3f4a5b6c7d8e9f001", + "username": "http://127.0.0.1:8000/oidc/op/__6f0f6a5f9d5f4e0e91d875d99b15f3f1c2d7b6a4b0c1d2e3f4a5b6c7d8e9f001", + "phone_number": "393331112233", + "phone_number_verified": "true", + "https://attributes.eid.gov.it/e_delivery_service": "mario.rossi@pec.example.it", + "address": { + "street_address": "Via Appia Nuova 10", + "postal_code": "00183", + "locality": "Roma", + "region": "RM", + "country_code": "IT" + } + }, + "groups": [], + "user_permissions": [] + } + }, + { + "model": "spid_cie_oidc_accounts.user", + "pk": 2, + "fields": { + "password": "pbkdf2_sha256$320000$AhIzWIg12g3HskebsrXn98$vnuNV6C91Bnc1JobVWj392ekqHkKiI12bhgd0q6ApZk=", + "last_login": "2022-04-23T15:48:20.734Z", + "is_superuser": false, + "username": "user", + "is_staff": false, + "date_joined": "2022-03-11T22:09:22.789Z", + "first_name": null, + "last_name": null, + "is_active": true, + "email": "user.cie@example.it", + "origin": null, + "attributes": { + "https://attributes.eid.gov.it/fiscal_number": "TINIT-VRDLGU85C15A662T", + "given_name": "Giulia", + "family_name": "Verdi", + "place_of_birth": { + "region": "BA", + "locality": "A662" + }, + "birthdate": "1985-03-15", + "gender": "female", + "email": "giulia.verdi@example.it", + "email_verified": "true", + "document_details": { + "type": "cartaIdentita", + "document_number": "CA000002BB", + "issuer": { + "name": "ComuneBari" + }, + "date_of_issuance": "2022-06-01", + "date_of_expiry": "2032-05-31" + }, + "sub": "12b7d3c9a4e54b13a6d0f998ab27bc01ef23456789abcdef0123456789abcd", + "username": "http://127.0.0.1:8000/oidc/op/__12b7d3c9a4e54b13a6d0f998ab27bc01ef23456789abcdef0123456789abcd", + "phone_number": "393339998877", + "phone_number_verified": "true", + "https://attributes.eid.gov.it/e_delivery_service": "giulia.verdi@pec.example.it", + "address": { + "street_address": "Via Sparano 25", + "postal_code": "70121", + "locality": "Bari", + "region": "BA", + "country_code": "IT" + } + }, + "groups": [], + "user_permissions": [] + } + }, + { + "model": "spid_cie_oidc_entity.federationentityconfiguration", + "pk": 1, + "fields": { + "created": "2022-03-16T09:48:07.724Z", + "modified": "2022-03-23T16:12:05.478Z", + "uuid": "dca85f48-0dbe-4b35-b74d-9ed42f9d00a7", + "sub": "http://127.0.0.1:8002/oidc/op", + "default_exp": 2880, + "default_signature_alg": "RS256", + "authority_hints": [ + "http://127.0.0.1:8000" + ], + "jwks_fed": [ + { + "use": "sig", + "kty": "RSA", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "e": "AQAB", + "d": "QjX5eTwKJoDABu4YenlAE-zbwqADYBwSMJSmKDpOBPxt8f3OX-R0qb5Fsxq0GnYKesE9w3QGfDBeJ3K1qiFsvFB39NOjuVyTUMVD6cIeKAe73jiad61RlBuBDMh3pYHs6NqMtZy5UqbaXEdN9f3IAERJVadOeQUyxdI3K6bKcSVjuA-J_pKm2x-HOdKDSz9wRF9rsHQUIaUafcmlERohdhTU_f4VBvPjifgUswwlWoQNP-DN1JNgtOoCD2qdmi4wwZJvMolQXuTGLEhQwmpV5UiskhpGY43NcnjZqhfYcjSpjGegBxdNPUPa_WUgf7bzn_BU9yFWo4rJyTvoEMKjqQ", + "p": "34kWBXizCjTq5Qa1PujAJcNM-NCbMcs3QPTh0QVuepZEN1B0g8gtReEwLfXt--7D3N_MtwZkW7wBjZNDTzo4mtuNMdDkuT7Qr3zoJqXuS3mai8bNOUzmDzusAlxn98dWPW0Xd1wprnV9uac5aoSZrH3TGRjHCqTMvUsOmxI4mac", + "q": "0H6DX4XzwjYmoiAL_-oIo0VCwRZoi7TWtT2I2y3jE_HUvp1BzRe0QA1sA-yJAgVnPmxSpVy3mDGnM5vdDCFK1E8InHYgfkDYqi4r5DGKb_iErCPVEN7yekdy5Rzvs-Inb8Jc6ocEV8AD9VOlNySZzNMjaUSwq3hLEfB8wBQLyNU", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ], + "jwks_core": [ + { + "use": "sig", + "kty": "RSA", + "e": "AQAB", + "n": "rJoSYv1stwlbM11tR9SYGIJuzqlJe2bv2N35oPRbwV_epjNWvGG2ZqEj53YFMC8AMZNFhuLa_LNwr1kLVE-jXQe8xjiLhe7DgMf1OnSzq9yAEXVo19BPBwkgJe2jp9HIgM_nfbIsUbSSkFAM2CKvGb0Bk2GvvqXZ12P-fpbVyA9hIQr6rNTqnCGx2-v4oViGG4u_3iTw7D1ZvLWmrmZOaKnDAqG3MJSdQ-2ggQ-Aiahg48si9C9D_JgnBV9tJ2eCS58ZC6kVG5sftElQVdH6e26mz464TZj5QgCwZCTsAQfIvBoXSdCKxpnvsFfrajz4q9BiXAryxIOl5fLmCFVNhw", + "d": "ElMxTI03c59srWFn7s5lb4S5mvtiL9XX9SBsFmibLUaubtrYhJujL_Y_x51CI8F5tcm7Af0n3th2SEed6k-iOohNxIXQWmHlI9EW-iPVx5NbjX73qKIXIdoYLa6zR2gAb5yjKTc3eV1Aik3Vb0UPbh4hArLGY-lb3YBiTrJY9CpxFpZ1m8Q-KiTpt3EowutwWX1Awn5ZOhfQnEzzc-VKthmaLSt6UFUCz0U_DOnCWT37l8uOoBxZ3iABsvq_wt8AlH3ErrpjIcfRYZCx5MXeNCgPfj49YGY-bPO6LC-lQMQ_Ce_7Q8uSystQ-Rju7ikT4vDEtgIChog1nwcdDhM-MQ", + "p": "4hTyExGzt1ga8isTv5VOOx34UZIzurWAtrepA_sa2nHyjGG7UC410at2A2Kgs6O3KxnTU1IR2fnA0aG509729Z_2tdTrmsRDT_Ezob3zI9VAEe_UjHxwtNNM67OxCh-MJCDs7ZwCDOKkOYDB1Qjmr3ZPkf3-y1MEHRqw6j-Wy-U", + "q": "w3FdsulIIQCoMrCqTHhsL-CZKUip6zcRAx3dCRlBWX7opuPNCObf5NMcptN-gEKSn5yGLmwRa6-fMfV5fpX4L4gHta8C34N1bF9NLz0Apr6tAyps2RWtpTm3Qk0MAHoKsrpD2ywxlpnuEUSihaxRuNX3cdtC9G3waDli8j9_lPs", + "kid": "Pd2N9-TZz_AWS3GFCkoYdRaXXls8YPhx_d_Ez7JwjQI" + } + ], + "trust_marks": [], + "trust_mark_issuers": {}, + "entity_type": "openid_provider", + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8002/oidc/op/resolve", + "organization_name": "CIE OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8002", + "policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8002/static/svg/logo-cie.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8002/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8002/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8002/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8002/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8002/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "client_registration_types_supported": [ + "automatic" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "given_name", + "family_name", + "birthdate", + "gender", + "phone_number", + "https://attributes.eid.gov.it/fiscal_number", + "phone_number_verified", + "email", + "address", + "document_details", + "https://attributes.eid.gov.it/physical_phone_number" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8002/oidc/op", + "jwks_uri": "http://127.0.0.1:8002/oidc/op/openid_provider/jwks.json", + "signed_jwks_uri": "http://127.0.0.1:8002/oidc/op/openid_provider/jwks.jose", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "e": "AQAB", + "n": "rJoSYv1stwlbM11tR9SYGIJuzqlJe2bv2N35oPRbwV_epjNWvGG2ZqEj53YFMC8AMZNFhuLa_LNwr1kLVE-jXQe8xjiLhe7DgMf1OnSzq9yAEXVo19BPBwkgJe2jp9HIgM_nfbIsUbSSkFAM2CKvGb0Bk2GvvqXZ12P-fpbVyA9hIQr6rNTqnCGx2-v4oViGG4u_3iTw7D1ZvLWmrmZOaKnDAqG3MJSdQ-2ggQ-Aiahg48si9C9D_JgnBV9tJ2eCS58ZC6kVG5sftElQVdH6e26mz464TZj5QgCwZCTsAQfIvBoXSdCKxpnvsFfrajz4q9BiXAryxIOl5fLmCFVNhw", + "kid": "Pd2N9-TZz_AWS3GFCkoYdRaXXls8YPhx_d_Ez7JwjQI" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8002/static/images/logo-cie.png", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "response_modes_supported": [ + "query", + "form_post" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "constraints": {}, + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 12, + "fields": { + "created": "2022-03-18T08:40:57.339Z", + "modified": "2022-03-18T08:40:57.339Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000", + "exp": "2022-04-23T16:12:24Z", + "iat": "2022-04-23T15:39:24Z", + "statement": { + "exp": 1650730344, + "iat": 1650728364, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "o8IolRjZlkzct-48rhrVlTnYU1pkMbVJD-DU05oMS9RVGrsFypg98m-Kw4H4qNPyQVx2OQORi-xShgk7HU-gK_2pVguYkv06FajL_edEAqqsqt_74Qf2WLRC5pfJG_z9OPzY8JGyk-z3SbeHN_BXKI8GY5E4WU2SstmQ9fyL4CxtRfjUia8limTC_3MOpT3zi5nr03jfbjpnjga51qXurxnlzc3a_xjk5RAApKxUvNwhJ275M0CmB99DjPwF6BLvUgJqgyCpUOn36LOhI4FquVqhqhiwKlMmiMe3yy0yNQ7FXBWxjzhexbpyc3Vu7zFIHPAcC4UyIQhc3waEj2viXw", + "kid": "BXvfrlnhAMuHR07ajUmAcBRQcSzmw0c_RAgJnpS-9WQ" + } + ] + }, + "metadata": { + "federation_entity": { + "contacts": [ + "ops@localhost" + ], + "federation_fetch_endpoint": "http://127.0.0.1:8000/fetch", + "federation_resolve_endpoint": "http://127.0.0.1:8000/resolve", + "federation_trust_mark_status_endpoint": "http://127.0.0.1:8000/trust_mark_status", + "homepage_uri": "http://127.0.0.1:8000", + "organization_name": "example TA", + "policy_uri": "http://127.0.0.1:8000/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "federation_list_endpoint": "http://127.0.0.1:8000/list" + } + }, + "trust_mark_issuers": { + "https://www.spid.gov.it/certification/rp/public": [ + "https://registry.spid.agid.gov.it", + "https://public.intermediary.spid.it" + ], + "https://www.spid.gov.it/certification/rp/private": [ + "https://registry.spid.agid.gov.it", + "https://private.other.intermediary.it" + ], + "https://sgd.aa.it/onboarding": [ + "https://sgd.aa.it" + ] + }, + "constraints": { + "max_path_length": 1 + } + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzAzNDQsImlhdCI6MTY1MDcyODM2NCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.eChjKE0kg9UnrLriCQB6rds7D2ftdaTTY-W2qYxdgJFKxNVju6Fa1fUygubEwV8fSL6VTvXlmv-z8M_8ig9p7bDAty37hEo75DBSNAJZW86CY630pujNl5RiioHAEs8fsk2r_U_Jhj4QOymI7M2GCLC48Ryw4VN-krjxlRB84dj8zCmJJJ2ym7e8s0Ne_MrEOm8Jn7FsjZI9m9UkuTfEUl0n2BTGgpLuc7WKjRKwsf4DTkYp1HpbV2bRQUxO5p8FXE7XPyykndVGQJwtB2nf6oCBTA_aZfeAYH8yN5n3IpP1tGFGmeBy78mUspnkyhBt0QumggJgBbW7A9zQaMYJnQ" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 13, + "fields": { + "created": "2022-03-18T08:40:57.521Z", + "modified": "2022-03-18T08:40:57.521Z", + "iss": "http://127.0.0.1:8000/oidc/rp", + "sub": "http://127.0.0.1:8000/oidc/rp", + "exp": "2022-04-25T15:47:47Z", + "iat": "2022-04-23T15:47:47Z", + "statement": { + "exp": 1650901667, + "iat": 1650728867, + "iss": "http://127.0.0.1:8000/oidc/rp", + "sub": "http://127.0.0.1:8000/oidc/rp", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ] + }, + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8000/oidc/rp", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "5s4qi1Ta-sEuKb5rJ8TzHmyGKaSu89pIXIi6w4Ekx6GL56mJDNE_MWJHsFjWXajfMdMQmZrSXAvLtXxmbhUui9Mq_IormhmEyyEJS0SyE9UKTxWzi0yd_n_C7OjFBhM-0ZyUlgl81E_sr-35P1A6b5WSYwMvRSR-P9yx_NI-XBQ48G_zdmk3CbuuzZsXZqqgj5U7OGWH-4Huosn9nH3FVkwX0OlWkgWM-J9DEWzGBjl9hfbbrMtM_obljHL2NfT6RJYER2IpdI8RCyQS3sMPt6ZHDskmuNlyMDNATCChXQJLnltwEjxcgvzjw_G9J25DwfdfVEhDF_0kCp44UMmS3Q", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8000/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkZpZll4MDNibm9zRDhtNmdZUUlmTkhOUDljTV9TYW05VGM1bkxsb0lJcmMifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjQ1NjEyNDAxLCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.mSPNR0AOPBn3UNJAIbrWUMQ8vGTetQajpa3i59JDKDXYWqo2TUGh4AQBghCiG3qqV9cl-hleLtuwoeZ1InKHeslTLftVdcR3meeMLs3mLobHYr26Mi7pC7-jx1ZFVyk4GXl7mn9WVSQGEUOiuhL01tdlUfxf0TJSFSOMEZGpCA3hXroLOnEl3FjkAw7sPvjfImsbadbHVusb72HTTs1n5Xo7z3As3fDWHcxD-fvvq0beu9cx-L2sT4YaNC-ELd1M3m5r0NIjjEUAt4Gnot-l5Z3-C_bA41uvh2hX34U_fGZ6jpmuluJo1Lqi26N8LTB-Rbu0UMaZnkRg9E72_YRZig" + } + ], + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ims1NEhRdERpYnlHY3M5WldWTWZ2aUhmLTJxTGNGVXRwd1kycmd4Qms4OE0iLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NjcsImlhdCI6MTY1MDcyODg2NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJwbl9JY2hDNjZTRlFNaGJUSEx0YkQ1OGpLaVlZdllvN1M0d2pQanpFQ011MjdjNkZKVkZOWHRsdWJ0YjdzQzYtV1RRMUh2NHJTUWRQaGFmSmJJeGEzMlI1MXNSUXBrVHIzSkZNWVA3eDIyRFJRRF9peHRRSlJhaUh3LW5wblo4cWdWSEpfdDRnUlRjNEhKa2VoQkxHdjQtckhWQUt6RmlRTlUxdTJBRncxZldNbk1ING9iX3B5aXNYVmdja3UzZHkxNGw3c1lTQU5scFh1ZllfcW5rUUZUdjB3TUgtQzZJemwtYWtFTlMyVUhwdlRMaGZDQlZLUHJGWEp4dWw0WERiVXdVYnZOWlV4VGVybkV4OGxWNWd4Q1NnS1NCRWdvSDlNZ3BEMVlXRlBiQW53aTdwN2U3TU5HejVsSDdlREZLa1BRaFhMV0FCVThVdkVJSVd5QTk1U1EiLCJraWQiOiJrNTRIUXREaWJ5R2NzOVpXVk1mdmlIZi0ycUxjRlV0cHdZMnJneEJrODhNIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiYXBwbGljYXRpb25fdHlwZSI6IndlYiIsImNsaWVudF9pZCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjVzNHFpMVRhLXNFdUtiNXJKOFR6SG15R0thU3U4OXBJWElpNnc0RWt4NkdMNTZtSkRORV9NV0pIc0ZqV1hhamZNZE1RbVpyU1hBdkx0WHhtYmhVdWk5TXFfSW9ybWhtRXl5RUpTMFN5RTlVS1R4V3ppMHlkX25fQzdPakZCaE0tMFp5VWxnbDgxRV9zci0zNVAxQTZiNVdTWXdNdlJTUi1QOXl4X05JLVhCUTQ4R196ZG1rM0NidXV6WnNYWnFxZ2o1VTdPR1dILTRIdW9zbjluSDNGVmt3WDBPbFdrZ1dNLUo5REVXekdCamw5aGZiYnJNdE1fb2JsakhMMk5mVDZSSllFUjJJcGRJOFJDeVFTM3NNUHQ2WkhEc2ttdU5seU1ETkFUQ0NoWFFKTG5sdHdFanhjZ3Z6andfRzlKMjVEd2ZkZlZFaERGXzBrQ3A0NFVNbVMzUSIsImUiOiJBUUFCIiwia2lkIjoiMkhub0ZTM1luQzl0amlDYWl2aFdMVlVKM0F4d0dHel85OHVSRmFxTUVFcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.O2phF_XHLiPCk45I8cMjAKdPxH-pb7p2w46Ump1-te8KaAK5HI7bcqrtD7xUb3OUERBTxozBJx68X57k_JFn_g1r04QnYMGBzSBCyXVYgo-1Jy8npqze4quusFeisjN2yl6yMV5UhV2kNfs52VjrrgGkLX10SLznEyM8ntVAAMKTI7TN7N1tz0idwpBIFbHQtNjb5Zqa5xIA1tB-F8w9Zyjm5WrsyoCkFNdSOIha0hqRpMBDh5I3YGiu-Q5t5LDSUbdfvG5HKl-Mg--xCAz23V1Pr5f88u9ftdrMjZ_teab19jE1YOuG8Zc42nLRZtn8uUX1EWX8b7Lmo5Af7xePJg" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 14, + "fields": { + "created": "2022-03-18T08:40:57.534Z", + "modified": "2022-03-18T08:40:57.534Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/rp", + "exp": "2022-04-25T15:47:47Z", + "iat": "2022-04-23T15:47:47Z", + "statement": { + "exp": 1650901667, + "iat": 1650728867, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/rp", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ] + }, + "metadata_policy": { + "openid_relying_party": { + "scope": { + "superset_of": [ + "openid" + ], + "subset_of": [ + "openid", + "offline_access", + "profile", + "email" + ] + }, + "contacts": { + "add": [ + "ciao@email.it" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjUwNzI4ODY3LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.HbA5gmMuD1x-YreL9ost4VsTqU4YlxxKbEHB7-Wh2tTU1R4-mtuhbDwe9xSiYEUgOLLnCItJsf7BX59ZSs1hYZomvynOrcUA7Ot5cMIe3q71HAk6rT11-O1yniKi00hKgM4XzT-hyx05fVoUHdEsjoJNV-sv_5U_6tWIABCQky2odt4eOQmIbDz8aSNBYqKoX7GdyHRKl5FAE9GfsPtmPjCfvcGboLkZciwb_v2Baq3YY3fvxzExifJ1FxH5g7q-3Xot-fuOxYgAc9KDCF5HydkordjDxfvt4-E72rW1XptF9InvAhRDa_h4uydTuTrDz4QEkdLvjL58zp27lqdgmQ" + }, + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-private", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjUwNzI4ODY3LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAvcHJpdmF0ZSIsImxvZ29fdXJpIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.jIhrqohigF3RKvCRLHNSL1lMeddtPBySJs2ANveaBy-3C6QMyJI2IdnsepMOznR6DgsC2SzEB0erCXWpHZeJFXWwQMyUNkJzw70-WPhrssRNpWsVHTFVmQ6rTdR7ZmzTrj_kU28Zi4Ljzgd2j8rFuwLTCjDknN7R1dR0KTSMihu4-gBtxDPUmuYXiN88kC6n4zjzLLMqps3tY-k36Iq3QQv5qstvAyUQdpl9yFgmgDXN71tTIM5o_DICM62NjDUfIAiNl0KcJQz3pi5Od4AkTGYiNHebU5ZPDwW-yx_DBa0eSY5hs7t9ZtU4aVDv_bsZ9hweFw9fATBYCHatIgSVZQ" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NjcsImlhdCI6MTY1MDcyODg2NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoicG5fSWNoQzY2U0ZRTWhiVEhMdGJENThqS2lZWXZZbzdTNHdqUGp6RUNNdTI3YzZGSlZGTlh0bHVidGI3c0M2LVdUUTFIdjRyU1FkUGhhZkpiSXhhMzJSNTFzUlFwa1RyM0pGTVlQN3gyMkRSUURfaXh0UUpSYWlIdy1ucG5aOHFnVkhKX3Q0Z1JUYzRISmtlaEJMR3Y0LXJIVkFLekZpUU5VMXUyQUZ3MWZXTW5NSDRvYl9weWlzWFZnY2t1M2R5MTRsN3NZU0FObHBYdWZZX3Fua1FGVHYwd01ILUM2SXpsLWFrRU5TMlVIcHZUTGhmQ0JWS1ByRlhKeHVsNFhEYlV3VWJ2TlpVeFRlcm5FeDhsVjVneENTZ0tTQkVnb0g5TWdwRDFZV0ZQYkFud2k3cDdlN01OR3o1bEg3ZURGS2tQUWhYTFdBQlU4VXZFSUlXeUE5NVNRIiwia2lkIjoiazU0SFF0RGlieUdjczlaV1ZNZnZpSGYtMnFMY0ZVdHB3WTJyZ3hCazg4TSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJzY29wZSI6eyJzdXBlcnNldF9vZiI6WyJvcGVuaWQiXSwic3Vic2V0X29mIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIiwicHJvZmlsZSIsImVtYWlsIl19LCJjb250YWN0cyI6eyJhZGQiOlsiY2lhb0BlbWFpbC5pdCJdfX19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EWTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5LkhiQTVnbU11RDF4LVlyZUw5b3N0NFZzVHFVNFlseHhLYkVIQjctV2gydFRVMVI0LW10dWhiRHdlOXhTaVlFVWdPTExuQ0l0SnNmN0JYNTlaU3MxaFlab212eW5PcmNVQTdPdDVjTUllM3E3MUhBazZyVDExLU8xeW5pS2kwMGhLZ000WHpULWh5eDA1ZlZvVUhkRXNqb0pOVi1zdl81VV82dFdJQUJDUWt5Mm9kdDRlT1FtSWJEejhhU05CWXFLb1g3R2R5SFJLbDVGQUU5R2ZzUHRtUGpDZnZjR2JvTGtaY2l3Yl92MkJhcTNZWTNmdnh6RXhpZkoxRnhINWc3cS0zWG90LWZ1T3hZZ0FjOUtEQ0Y1SHlka29yZGpEeGZ2dDQtRTcyclcxWHB0RjlJbnZBaFJEYV9oNHV5ZFR1VHJEejRRRWtkTHZqTDU4enAyN2xxZGdtUSJ9LHsiaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHJpdmF0ZSIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EWTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkF2Y0hKcGRtRjBaU0lzSW14dloyOWZkWEpwSWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5qSWhycW9oaWdGM1JLdkNSTEhOU0wxbE1lZGR0UEJ5U0pzMkFOdmVhQnktM0M2UU15SkkySWRuc2VwTU96blI2RGdzQzJTekVCMGVyQ1hXcEhaZUpGWFd3UU15VU5rSnp3NzAtV1BocnNzUk5wV3NWSFRGVm1RNnJUZFI3Wm16VHJqX2tVMjhaaTRManpnZDJqOHJGdXdMVENqRGtuTjdSMWRSMEtUU01paHU0LWdCdHhEUFVtdVlYaU44OGtDNm40emp6TExNcXBzM3RZLWszNklxM1FRdjVxc3R2QXlVUWRwbDl5RmdtZ0RYTjcxdFRJTTVvX0RJQ002Mk5qRFVmSUFpTmwwS2NKUXozcGk1T2Q0QWtUR1lpTkhlYlU1WlBEd1cteXhfREJhMGVTWTVoczd0OVp0VTRhVkR2X2JzWjlod2VGdzlmQVRCWUNIYXRJZ1NWWlEifV19.YxONV2gFObDwld6WwWQJVzs0K0ZDZRoQQa4iRQQikj5qHO-ralKboz4VXUY10HmI2PjNeiXFtT2v-y5TyySEnTlNMHn1Smdx52otVOHzPq66NeKmG5n3omC-UqiWdCuGAwEFLHUsc3XiMMw5jw66MBekNMHxLSwEt_r9537ulPKYmKYqWQMl6tPx68bN6uhwsXmKqk9jyYI4fekWKot9mmJjNYU3OR21YIXGponhw6b-fZxyexwphKdiz5iYZpA2gQDLvlcVLCixTc5E-htDQHrs5nDnI-Tlp87d3acBCY6d7qctRb4cN3o2iyhGE3y-emZQfCIxGfDelWc1-hjzQg" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 15, + "fields": { + "created": "2022-03-18T11:59:36.536Z", + "modified": "2022-03-18T11:59:36.536Z", + "iss": "http://127.0.0.1:8001", + "sub": "http://127.0.0.1:8001", + "exp": "2022-04-23T16:12:24Z", + "iat": "2022-04-23T15:39:24Z", + "statement": { + "exp": 1650730344, + "iat": 1650728364, + "iss": "http://127.0.0.1:8001", + "sub": "http://127.0.0.1:8001", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ] + }, + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8001", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "uXfJA-wTlTCA4FdsoE0qZfmKIgedmarrtWgQbElKbWg9RDR7Z8JVBaRLFqwyfyG1JJFm64G51cBJwLIFwWoF7nxsH9VYLm5ocjAnsR4RhlfVE0y_60wjf8skJgBRpiXQPlwH9jDGaqVE_PEBTObDO5w3XourD1F360-v5cLDLRHdFJIitdEVtqATqY5DglRDaKiBhis7a5_1bk839PDLaQhju4XJk4tvDy5-LVkMy5sP2zU6-1tJdA-VmaBZLXy9n0967FGIWmMzpafrBMOuHFcUOH56o-clDah_CITH1dq2D64K0MYhEpACO2p8AH4K8Q6YuJ1dnkVDDwZp2C84sQ", + "e": "AQAB", + "kid": "YhuIJU6o15EUCyqA0LHEqJd-xVPJgoyW5wZ1o4padWs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8001/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkZpZll4MDNibm9zRDhtNmdZUUlmTkhOUDljTV9TYW05VGM1bkxsb0lJcmMifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjQ1NjEyNDAxLCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.mSPNR0AOPBn3UNJAIbrWUMQ8vGTetQajpa3i59JDKDXYWqo2TUGh4AQBghCiG3qqV9cl-hleLtuwoeZ1InKHeslTLftVdcR3meeMLs3mLobHYr26Mi7pC7-jx1ZFVyk4GXl7mn9WVSQGEUOiuhL01tdlUfxf0TJSFSOMEZGpCA3hXroLOnEl3FjkAw7sPvjfImsbadbHVusb72HTTs1n5Xo7z3As3fDWHcxD-fvvq0beu9cx-L2sT4YaNC-ELd1M3m5r0NIjjEUAt4Gnot-l5Z3-C_bA41uvh2hX34U_fGZ6jpmuluJo1Lqi26N8LTB-Rbu0UMaZnkRg9E72_YRZig" + } + ], + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzAzNDQsImlhdCI6MTY1MDcyODM2NCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJhcHBsaWNhdGlvbl90eXBlIjoid2ViIiwiY2xpZW50X2lkIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6InVYZkpBLXdUbFRDQTRGZHNvRTBxWmZtS0lnZWRtYXJydFdnUWJFbEtiV2c5UkRSN1o4SlZCYVJMRnF3eWZ5RzFKSkZtNjRHNTFjQkp3TElGd1dvRjdueHNIOVZZTG01b2NqQW5zUjRSaGxmVkUweV82MHdqZjhza0pnQlJwaVhRUGx3SDlqREdhcVZFX1BFQlRPYkRPNXczWG91ckQxRjM2MC12NWNMRExSSGRGSklpdGRFVnRxQVRxWTVEZ2xSRGFLaUJoaXM3YTVfMWJrODM5UERMYVFoanU0WEprNHR2RHk1LUxWa015NXNQMnpVNi0xdEpkQS1WbWFCWkxYeTluMDk2N0ZHSVdtTXpwYWZyQk1PdUhGY1VPSDU2by1jbERhaF9DSVRIMWRxMkQ2NEswTVloRXBBQ08ycDhBSDRLOFE2WXVKMWRua1ZERHdacDJDODRzUSIsImUiOiJBUUFCIiwia2lkIjoiWWh1SUpVNm8xNUVVQ3lxQTBMSEVxSmQteFZQSmdveVc1d1oxbzRwYWRXcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDEvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.OiKYUbZxMVpdu7htjZDAjpVaEODyiOqCm1pyYec_k0N6LkFpVBBSQMl8Kx3Kev1ShcF6SwVDdhv4DQeUKh9OzwztNax4WBFsP_Sn3tdXIX8I7c_Ln45CkYwK33CAnFenBZq5QkLE5atu-ojQny5Pndf9tmTujM4qz7h7cpMrx0vcTQ1jxKsVhrHnIlGemJEX2iqEgzrVmTxcg_lT8RuhxTwZ6lWsnSY9TZKrhHds70TsSaZaz3z24pyAOsEiPAfkwewLHxUVhL-0RAHkAKOUrXoDpjtvgZGsFNjJpJ5_D3WIqwDSy_m0omqO7K81V5MGmXfeWbz5QiX-M0044FQi9g" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 16, + "fields": { + "created": "2022-03-18T11:59:36.550Z", + "modified": "2022-03-18T11:59:36.550Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8001", + "exp": "2022-04-25T15:39:24Z", + "iat": "2022-04-23T15:39:24Z", + "statement": { + "exp": 1650901164, + "iat": 1650728364, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8001", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ] + }, + "metadata_policy": { + "openid_relying_party": { + "grant_types": { + "subset_of": [ + "authorization_code", + "refresh_token" + ] + }, + "scope": { + "superset_of": [ + "openid" + ], + "subset_of": [ + "openid", + "offline_access" + ] + }, + "contacts": { + "add": [ + "that.email@ciao.it" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsImlhdCI6MTY1MDcyODM2NCwiaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9jZXJ0aWZpY2F0aW9uL3JwIiwibWFyayI6Imh0dHBzOi8vd3d3LmFnaWQuZ292Lml0L3RoZW1lcy9jdXN0b20vYWdpZC9sb2dvLnN2ZyIsInJlZiI6Imh0dHBzOi8vZG9jcy5pdGFsaWEuaXQvaXRhbGlhL3NwaWQvc3BpZC1yZWdvbGUtdGVjbmljaGUtb2lkYy9pdC9zdGFiaWxlL2luZGV4Lmh0bWwifQ.FugN-gKtPnCUraLZ_psOSvdcD8khIcPl1UtmKgDIGkG7tqInYiVT2DCSEl16lx2R-IqOIeGlOvjQrzHjmC0JOeugea7XuyEd_yVEha77Qjt4dBKLyO1IHKJoDQyghnqkYq_WiWNO8orUlwkQpympW1vbUiwJQkQU4XXFzrfrMasOusJVxsJgCK1WEnHLpV5L_m3qNoghFqypbLSe5UiF56MbR4mtDd_6-5JPuS0GKDuYilC8vLBsrYL_2Mf6CrenIlsxs5LplxgoFtGqu0m8jHKzSSes6IupNnwpAXHLSjl3NvgVziPjXckMzlKeK4fM4oWqEfL1i2qHFsXZ9Pni2g" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDExNjQsImlhdCI6MTY1MDcyODM2NCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YV9wb2xpY3kiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiZ3JhbnRfdHlwZXMiOnsic3Vic2V0X29mIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXX0sInNjb3BlIjp7InN1cGVyc2V0X29mIjpbIm9wZW5pZCJdLCJzdWJzZXRfb2YiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXX0sImNvbnRhY3RzIjp7ImFkZCI6WyJ0aGF0LmVtYWlsQGNpYW8uaXQiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L3NwLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF4THlJc0ltbGhkQ0k2TVRZMU1EY3lPRE0yTkN3aWFXUWlPaUpvZEhSd2N6b3ZMM2QzZHk1emNHbGtMbWR2ZGk1cGRDOWpaWEowYVdacFkyRjBhVzl1TDNKd0lpd2liV0Z5YXlJNkltaDBkSEJ6T2k4dmQzZDNMbUZuYVdRdVoyOTJMbWwwTDNSb1pXMWxjeTlqZFhOMGIyMHZZV2RwWkM5c2IyZHZMbk4yWnlJc0luSmxaaUk2SW1oMGRIQnpPaTh2Wkc5amN5NXBkR0ZzYVdFdWFYUXZhWFJoYkdsaEwzTndhV1F2YzNCcFpDMXlaV2R2YkdVdGRHVmpibWxqYUdVdGIybGtZeTlwZEM5emRHRmlhV3hsTDJsdVpHVjRMbWgwYld3aWZRLkZ1Z04tZ0t0UG5DVXJhTFpfcHNPU3ZkY0Q4a2hJY1BsMVV0bUtnRElHa0c3dHFJbllpVlQyRENTRWwxNmx4MlItSXFPSWVHbE92alFyekhqbUMwSk9ldWdlYTdYdXlFZF95VkVoYTc3UWp0NGRCS0x5TzFJSEtKb0RReWdobnFrWXFfV2lXTk84b3JVbHdrUXB5bXBXMXZiVWl3SlFrUVU0WFhGenJmck1hc091c0pWeHNKZ0NLMVdFbkhMcFY1TF9tM3FOb2doRnF5cGJMU2U1VWlGNTZNYlI0bXREZF82LTVKUHVTMEdLRHVZaWxDOHZMQnNyWUxfMk1mNkNyZW5JbHN4czVMcGx4Z29GdEdxdTBtOGpIS3pTU2VzNkl1cE5ud3BBWEhMU2psM052Z1Z6aVBqWGNrTXpsS2VLNGZNNG9XcUVmTDFpMnFIRnNYWjlQbmkyZyJ9XX0.XFK2o1p8S6r4jllxIbOEgdfBvGMDYibM3vcA_eKjXTDjjU82aRmIswQtcJ1pXTcpqFiE4MjxHDq5BVfp4CwsFbxg1f3h6Y4bAV6_ZyzN3FOPoGMB48rFNRv27iRL5mvXfzSVdh7bDjgkQ_r_tUg-1azSJPvt1-X0PCta5BF35MeXiX97ocQImrPG66A3EvSKCLVZ4_eSf9dU-aH4aJpYlPNnQPMWGSerJcwb0OcEjdcfG0uHIQPIRR2rQHe-h1ec4SOrEEjuKpcy0qt7pWWLAeZbQvrJIeY5uCXnyXftUEbCdBmxAeakuXuUTYf3ucD2BsHFxgQdLBrToLiSA-4V7Q" + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 8, + "fields": { + "created": "2022-03-18T13:01:38.314Z", + "modified": "2022-03-18T13:01:38.314Z", + "sub": "http://127.0.0.1:8001", + "trust_anchor": 12, + "exp": "2022-04-23T16:12:24Z", + "iat": "2022-03-18T13:01:38.314Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzAzNDQsImlhdCI6MTY1MDcyODM2NCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJhcHBsaWNhdGlvbl90eXBlIjoid2ViIiwiY2xpZW50X2lkIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAxLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6InVYZkpBLXdUbFRDQTRGZHNvRTBxWmZtS0lnZWRtYXJydFdnUWJFbEtiV2c5UkRSN1o4SlZCYVJMRnF3eWZ5RzFKSkZtNjRHNTFjQkp3TElGd1dvRjdueHNIOVZZTG01b2NqQW5zUjRSaGxmVkUweV82MHdqZjhza0pnQlJwaVhRUGx3SDlqREdhcVZFX1BFQlRPYkRPNXczWG91ckQxRjM2MC12NWNMRExSSGRGSklpdGRFVnRxQVRxWTVEZ2xSRGFLaUJoaXM3YTVfMWJrODM5UERMYVFoanU0WEprNHR2RHk1LUxWa015NXNQMnpVNi0xdEpkQS1WbWFCWkxYeTluMDk2N0ZHSVdtTXpwYWZyQk1PdUhGY1VPSDU2by1jbERhaF9DSVRIMWRxMkQ2NEswTVloRXBBQ08ycDhBSDRLOFE2WXVKMWRua1ZERHdacDJDODRzUSIsImUiOiJBUUFCIiwia2lkIjoiWWh1SUpVNm8xNUVVQ3lxQTBMSEVxSmQteFZQSmdveVc1d1oxbzRwYWRXcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDEvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.OiKYUbZxMVpdu7htjZDAjpVaEODyiOqCm1pyYec_k0N6LkFpVBBSQMl8Kx3Kev1ShcF6SwVDdhv4DQeUKh9OzwztNax4WBFsP_Sn3tdXIX8I7c_Ln45CkYwK33CAnFenBZq5QkLE5atu-ojQny5Pndf9tmTujM4qz7h7cpMrx0vcTQ1jxKsVhrHnIlGemJEX2iqEgzrVmTxcg_lT8RuhxTwZ6lWsnSY9TZKrhHds70TsSaZaz3z24pyAOsEiPAfkwewLHxUVhL-0RAHkAKOUrXoDpjtvgZGsFNjJpJ5_D3WIqwDSy_m0omqO7K81V5MGmXfeWbz5QiX-M0044FQi9g", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzAzNDQsImlhdCI6MTY1MDcyODM2NCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.eChjKE0kg9UnrLriCQB6rds7D2ftdaTTY-W2qYxdgJFKxNVju6Fa1fUygubEwV8fSL6VTvXlmv-z8M_8ig9p7bDAty37hEo75DBSNAJZW86CY630pujNl5RiioHAEs8fsk2r_U_Jhj4QOymI7M2GCLC48Ryw4VN-krjxlRB84dj8zCmJJJ2ym7e8s0Ne_MrEOm8Jn7FsjZI9m9UkuTfEUl0n2BTGgpLuc7WKjRKwsf4DTkYp1HpbV2bRQUxO5p8FXE7XPyykndVGQJwtB2nf6oCBTA_aZfeAYH8yN5n3IpP1tGFGmeBy78mUspnkyhBt0QumggJgBbW7A9zQaMYJnQ", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDExNjQsImlhdCI6MTY1MDcyODM2NCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMS8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6IjZTRGtzYTY0SWpCazdITlFDN3g1QzluTUFSR2FhbmZhVW0zd0MyV3Vsd0dfOGE1YUl5NENFd1hOMkxFTmtDeXlwT0RxV1pjVEF3Q3pXc2lpaFZOOWtEY0VzN1VOdS1YMVdva0syNTJEN19EUlktRlhJOEFCM1AwQ3hUbmdzMGstT2pjbWJ4cVZXMlU4RzU2ckpGcDRHX0NZQTR2ekJvQVBfNXNrRkJ0LTRhNWxZSmxCZkoyZ0psRTB2aDRfNDZveU51VVQ5a21LYXVSN25wVlNIakJVU3hZeURFTHpvYVBtdlI3U2tYNHNKZTBNSzM5SEVTNnM0bm85RzdCcmFMcDc1ZU93RVFtSGdFaEVTV3NjU09mX0NtQzVBTG56V0ozRmNGaHhnc3VNa2Rqb1U3YkgwOXk4cGRLczY0a1Iyem54cy15SVdyUEZXOGhKS255U2MyZms4dyIsImtpZCI6IndMX0xtUDhVakxWTi1zQWVvWjdLR0VNSmZCa0Z0Yk5MZDI0ZUREOVJHQ3MifV19LCJtZXRhZGF0YV9wb2xpY3kiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiZ3JhbnRfdHlwZXMiOnsic3Vic2V0X29mIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXX0sInNjb3BlIjp7InN1cGVyc2V0X29mIjpbIm9wZW5pZCJdLCJzdWJzZXRfb2YiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXX0sImNvbnRhY3RzIjp7ImFkZCI6WyJ0aGF0LmVtYWlsQGNpYW8uaXQiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L3NwLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF4THlJc0ltbGhkQ0k2TVRZMU1EY3lPRE0yTkN3aWFXUWlPaUpvZEhSd2N6b3ZMM2QzZHk1emNHbGtMbWR2ZGk1cGRDOWpaWEowYVdacFkyRjBhVzl1TDNKd0lpd2liV0Z5YXlJNkltaDBkSEJ6T2k4dmQzZDNMbUZuYVdRdVoyOTJMbWwwTDNSb1pXMWxjeTlqZFhOMGIyMHZZV2RwWkM5c2IyZHZMbk4yWnlJc0luSmxaaUk2SW1oMGRIQnpPaTh2Wkc5amN5NXBkR0ZzYVdFdWFYUXZhWFJoYkdsaEwzTndhV1F2YzNCcFpDMXlaV2R2YkdVdGRHVmpibWxqYUdVdGIybGtZeTlwZEM5emRHRmlhV3hsTDJsdVpHVjRMbWgwYld3aWZRLkZ1Z04tZ0t0UG5DVXJhTFpfcHNPU3ZkY0Q4a2hJY1BsMVV0bUtnRElHa0c3dHFJbllpVlQyRENTRWwxNmx4MlItSXFPSWVHbE92alFyekhqbUMwSk9ldWdlYTdYdXlFZF95VkVoYTc3UWp0NGRCS0x5TzFJSEtKb0RReWdobnFrWXFfV2lXTk84b3JVbHdrUXB5bXBXMXZiVWl3SlFrUVU0WFhGenJmck1hc091c0pWeHNKZ0NLMVdFbkhMcFY1TF9tM3FOb2doRnF5cGJMU2U1VWlGNTZNYlI0bXREZF82LTVKUHVTMEdLRHVZaWxDOHZMQnNyWUxfMk1mNkNyZW5JbHN4czVMcGx4Z29GdEdxdTBtOGpIS3pTU2VzNkl1cE5ud3BBWEhMU2psM052Z1Z6aVBqWGNrTXpsS2VLNGZNNG9XcUVmTDFpMnFIRnNYWjlQbmkyZyJ9XX0.XFK2o1p8S6r4jllxIbOEgdfBvGMDYibM3vcA_eKjXTDjjU82aRmIswQtcJ1pXTcpqFiE4MjxHDq5BVfp4CwsFbxg1f3h6Y4bAV6_ZyzN3FOPoGMB48rFNRv27iRL5mvXfzSVdh7bDjgkQ_r_tUg-1azSJPvt1-X0PCta5BF35MeXiX97ocQImrPG66A3EvSKCLVZ4_eSf9dU-aH4aJpYlPNnQPMWGSerJcwb0OcEjdcfG0uHIQPIRR2rQHe-h1ec4SOrEEjuKpcy0qt7pWWLAeZbQvrJIeY5uCXnyXftUEbCdBmxAeakuXuUTYf3ucD2BsHFxgQdLBrToLiSA-4V7Q" + ] + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ] + }, + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8001", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "uXfJA-wTlTCA4FdsoE0qZfmKIgedmarrtWgQbElKbWg9RDR7Z8JVBaRLFqwyfyG1JJFm64G51cBJwLIFwWoF7nxsH9VYLm5ocjAnsR4RhlfVE0y_60wjf8skJgBRpiXQPlwH9jDGaqVE_PEBTObDO5w3XourD1F360-v5cLDLRHdFJIitdEVtqATqY5DglRDaKiBhis7a5_1bk839PDLaQhju4XJk4tvDy5-LVkMy5sP2zU6-1tJdA-VmaBZLXy9n0967FGIWmMzpafrBMOuHFcUOH56o-clDah_CITH1dq2D64K0MYhEpACO2p8AH4K8Q6YuJ1dnkVDDwZp2C84sQ", + "e": "AQAB", + "kid": "YhuIJU6o15EUCyqA0LHEqJd-xVPJgoyW5wZ1o4padWs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8001/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8001", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:39:24.428Z", + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 9, + "fields": { + "created": "2022-03-21T05:39:18.213Z", + "modified": "2022-03-21T05:39:18.213Z", + "sub": "http://127.0.0.1:8000/oidc/rp", + "trust_anchor": 12, + "exp": "2022-04-23T16:12:24Z", + "iat": "2022-03-21T05:39:18.213Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6Ims1NEhRdERpYnlHY3M5WldWTWZ2aUhmLTJxTGNGVXRwd1kycmd4Qms4OE0iLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NjcsImlhdCI6MTY1MDcyODg2NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJwbl9JY2hDNjZTRlFNaGJUSEx0YkQ1OGpLaVlZdllvN1M0d2pQanpFQ011MjdjNkZKVkZOWHRsdWJ0YjdzQzYtV1RRMUh2NHJTUWRQaGFmSmJJeGEzMlI1MXNSUXBrVHIzSkZNWVA3eDIyRFJRRF9peHRRSlJhaUh3LW5wblo4cWdWSEpfdDRnUlRjNEhKa2VoQkxHdjQtckhWQUt6RmlRTlUxdTJBRncxZldNbk1ING9iX3B5aXNYVmdja3UzZHkxNGw3c1lTQU5scFh1ZllfcW5rUUZUdjB3TUgtQzZJemwtYWtFTlMyVUhwdlRMaGZDQlZLUHJGWEp4dWw0WERiVXdVYnZOWlV4VGVybkV4OGxWNWd4Q1NnS1NCRWdvSDlNZ3BEMVlXRlBiQW53aTdwN2U3TU5HejVsSDdlREZLa1BRaFhMV0FCVThVdkVJSVd5QTk1U1EiLCJraWQiOiJrNTRIUXREaWJ5R2NzOVpXVk1mdmlIZi0ycUxjRlV0cHdZMnJneEJrODhNIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsiYXBwbGljYXRpb25fdHlwZSI6IndlYiIsImNsaWVudF9pZCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjVzNHFpMVRhLXNFdUtiNXJKOFR6SG15R0thU3U4OXBJWElpNnc0RWt4NkdMNTZtSkRORV9NV0pIc0ZqV1hhamZNZE1RbVpyU1hBdkx0WHhtYmhVdWk5TXFfSW9ybWhtRXl5RUpTMFN5RTlVS1R4V3ppMHlkX25fQzdPakZCaE0tMFp5VWxnbDgxRV9zci0zNVAxQTZiNVdTWXdNdlJTUi1QOXl4X05JLVhCUTQ4R196ZG1rM0NidXV6WnNYWnFxZ2o1VTdPR1dILTRIdW9zbjluSDNGVmt3WDBPbFdrZ1dNLUo5REVXekdCamw5aGZiYnJNdE1fb2JsakhMMk5mVDZSSllFUjJJcGRJOFJDeVFTM3NNUHQ2WkhEc2ttdU5seU1ETkFUQ0NoWFFKTG5sdHdFanhjZ3Z6andfRzlKMjVEd2ZkZlZFaERGXzBrQ3A0NFVNbVMzUSIsImUiOiJBUUFCIiwia2lkIjoiMkhub0ZTM1luQzl0amlDYWl2aFdMVlVKM0F4d0dHel85OHVSRmFxTUVFcyJ9XX0sImNsaWVudF9uYW1lIjoiTmFtZSBvZiBhbiBleGFtcGxlIG9yZ2FuaXphdGlvbiIsImNvbnRhY3RzIjpbIm9wc0BycC5leGFtcGxlLml0Il0sImdyYW50X3R5cGVzIjpbInJlZnJlc2hfdG9rZW4iLCJhdXRob3JpemF0aW9uX2NvZGUiXSwicmVkaXJlY3RfdXJpcyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9ycC9jYWxsYmFjayJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInN1YmplY3RfdHlwZSI6InBhaXJ3aXNlIn19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtacFpsbDRNRE5pYm05elJEaHRObWRaVVVsbVRraE9VRGxqVFY5VFlXMDVWR00xYmt4c2IwbEpjbU1pZlEuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalExTmpFeU5EQXhMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5Lm1TUE5SMEFPUEJuM1VOSkFJYnJXVU1ROHZHVGV0UWFqcGEzaTU5SkRLRFhZV3FvMlRVR2g0QVFCZ2hDaUczcXFWOWNsLWhsZUx0dXdvZVoxSW5LSGVzbFRMZnRWZGNSM21lZU1MczNtTG9iSFlyMjZNaTdwQzctangxWkZWeWs0R1hsN21uOVdWU1FHRVVPaXVoTDAxdGRsVWZ4ZjBUSlNGU09NRVpHcENBM2hYcm9MT25FbDNGamtBdzdzUHZqZkltc2JhZGJIVnVzYjcySFRUczFuNVhvN3ozQXMzZkRXSGN4RC1mdnZxMGJldTljeC1MMnNUNFlhTkMtRUxkMU0zbTVyME5JampFVUF0NEdub3QtbDVaMy1DX2JBNDF1dmgyaFgzNFVfZkdaNmpwbXVsdUpvMUxxaTI2TjhMVEItUmJ1MFVNYVpua1JnOUU3Ml9ZUlppZyJ9XSwiYXV0aG9yaXR5X2hpbnRzIjpbImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iXX0.O2phF_XHLiPCk45I8cMjAKdPxH-pb7p2w46Ump1-te8KaAK5HI7bcqrtD7xUb3OUERBTxozBJx68X57k_JFn_g1r04QnYMGBzSBCyXVYgo-1Jy8npqze4quusFeisjN2yl6yMV5UhV2kNfs52VjrrgGkLX10SLznEyM8ntVAAMKTI7TN7N1tz0idwpBIFbHQtNjb5Zqa5xIA1tB-F8w9Zyjm5WrsyoCkFNdSOIha0hqRpMBDh5I3YGiu-Q5t5LDSUbdfvG5HKl-Mg--xCAz23V1Pr5f88u9ftdrMjZ_teab19jE1YOuG8Zc42nLRZtn8uUX1EWX8b7Lmo5Af7xePJg", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzAzNDQsImlhdCI6MTY1MDcyODM2NCwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.eChjKE0kg9UnrLriCQB6rds7D2ftdaTTY-W2qYxdgJFKxNVju6Fa1fUygubEwV8fSL6VTvXlmv-z8M_8ig9p7bDAty37hEo75DBSNAJZW86CY630pujNl5RiioHAEs8fsk2r_U_Jhj4QOymI7M2GCLC48Ryw4VN-krjxlRB84dj8zCmJJJ2ym7e8s0Ne_MrEOm8Jn7FsjZI9m9UkuTfEUl0n2BTGgpLuc7WKjRKwsf4DTkYp1HpbV2bRQUxO5p8FXE7XPyykndVGQJwtB2nf6oCBTA_aZfeAYH8yN5n3IpP1tGFGmeBy78mUspnkyhBt0QumggJgBbW7A9zQaMYJnQ", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2NjcsImlhdCI6MTY1MDcyODg2NywiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL3JwLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoicG5fSWNoQzY2U0ZRTWhiVEhMdGJENThqS2lZWXZZbzdTNHdqUGp6RUNNdTI3YzZGSlZGTlh0bHVidGI3c0M2LVdUUTFIdjRyU1FkUGhhZkpiSXhhMzJSNTFzUlFwa1RyM0pGTVlQN3gyMkRSUURfaXh0UUpSYWlIdy1ucG5aOHFnVkhKX3Q0Z1JUYzRISmtlaEJMR3Y0LXJIVkFLekZpUU5VMXUyQUZ3MWZXTW5NSDRvYl9weWlzWFZnY2t1M2R5MTRsN3NZU0FObHBYdWZZX3Fua1FGVHYwd01ILUM2SXpsLWFrRU5TMlVIcHZUTGhmQ0JWS1ByRlhKeHVsNFhEYlV3VWJ2TlpVeFRlcm5FeDhsVjVneENTZ0tTQkVnb0g5TWdwRDFZV0ZQYkFud2k3cDdlN01OR3o1bEg3ZURGS2tQUWhYTFdBQlU4VXZFSUlXeUE5NVNRIiwia2lkIjoiazU0SFF0RGlieUdjczlaV1ZNZnZpSGYtMnFMY0ZVdHB3WTJyZ3hCazg4TSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcmVseWluZ19wYXJ0eSI6eyJzY29wZSI6eyJzdXBlcnNldF9vZiI6WyJvcGVuaWQiXSwic3Vic2V0X29mIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIiwicHJvZmlsZSIsImVtYWlsIl19LCJjb250YWN0cyI6eyJhZGQiOlsiY2lhb0BlbWFpbC5pdCJdfX19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHVibGljLyIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EWTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkFpTENKdFlYSnJJam9pYUhSMGNITTZMeTkzZDNjdVlXZHBaQzVuYjNZdWFYUXZkR2hsYldWekwyTjFjM1J2YlM5aFoybGtMMnh2WjI4dWMzWm5JaXdpY21WbUlqb2lhSFIwY0hNNkx5OWtiMk56TG1sMFlXeHBZUzVwZEM5cGRHRnNhV0V2YzNCcFpDOXpjR2xrTFhKbFoyOXNaUzEwWldOdWFXTm9aUzF2YVdSakwybDBMM04wWVdKcGJHVXZhVzVrWlhndWFIUnRiQ0o5LkhiQTVnbU11RDF4LVlyZUw5b3N0NFZzVHFVNFlseHhLYkVIQjctV2gydFRVMVI0LW10dWhiRHdlOXhTaVlFVWdPTExuQ0l0SnNmN0JYNTlaU3MxaFlab212eW5PcmNVQTdPdDVjTUllM3E3MUhBazZyVDExLU8xeW5pS2kwMGhLZ000WHpULWh5eDA1ZlZvVUhkRXNqb0pOVi1zdl81VV82dFdJQUJDUWt5Mm9kdDRlT1FtSWJEejhhU05CWXFLb1g3R2R5SFJLbDVGQUU5R2ZzUHRtUGpDZnZjR2JvTGtaY2l3Yl92MkJhcTNZWTNmdnh6RXhpZkoxRnhINWc3cS0zWG90LWZ1T3hZZ0FjOUtEQ0Y1SHlka29yZGpEeGZ2dDQtRTcyclcxWHB0RjlJbnZBaFJEYV9oNHV5ZFR1VHJEejRRRWtkTHZqTDU4enAyN2xxZGdtUSJ9LHsiaWQiOiJodHRwczovL3d3dy5zcGlkLmdvdi5pdC9vcGVuaWQtZmVkZXJhdGlvbi9hZ3JlZW1lbnQvc3AtcHJpdmF0ZSIsInRydXN0X21hcmsiOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWtKWWRtWnliRzVvUVUxMVNGSXdOMkZxVlcxQlkwSlNVV05UZW0xM01HTmZVa0ZuU201d1V5MDVWMUVpTENKMGVYQWlPaUowY25WemRDMXRZWEpySzJwM2RDSjkuZXlKcGMzTWlPaUpvZEhSd09pOHZNVEkzTGpBdU1DNHhPamd3TURBdklpd2ljM1ZpSWpvaWFIUjBjRG92THpFeU55NHdMakF1TVRvNE1EQXdMMjlwWkdNdmNuQXZJaXdpYVdGMElqb3hOalV3TnpJNE9EWTNMQ0pwWkNJNkltaDBkSEJ6T2k4dmQzZDNMbk53YVdRdVoyOTJMbWwwTDJObGNuUnBabWxqWVhScGIyNHZjbkF2Y0hKcGRtRjBaU0lzSW14dloyOWZkWEpwSWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5qSWhycW9oaWdGM1JLdkNSTEhOU0wxbE1lZGR0UEJ5U0pzMkFOdmVhQnktM0M2UU15SkkySWRuc2VwTU96blI2RGdzQzJTekVCMGVyQ1hXcEhaZUpGWFd3UU15VU5rSnp3NzAtV1BocnNzUk5wV3NWSFRGVm1RNnJUZFI3Wm16VHJqX2tVMjhaaTRManpnZDJqOHJGdXdMVENqRGtuTjdSMWRSMEtUU01paHU0LWdCdHhEUFVtdVlYaU44OGtDNm40emp6TExNcXBzM3RZLWszNklxM1FRdjVxc3R2QXlVUWRwbDl5RmdtZ0RYTjcxdFRJTTVvX0RJQ002Mk5qRFVmSUFpTmwwS2NKUXozcGk1T2Q0QWtUR1lpTkhlYlU1WlBEd1cteXhfREJhMGVTWTVoczd0OVp0VTRhVkR2X2JzWjlod2VGdzlmQVRCWUNIYXRJZ1NWWlEifV19.YxONV2gFObDwld6WwWQJVzs0K0ZDZRoQQa4iRQQikj5qHO-ralKboz4VXUY10HmI2PjNeiXFtT2v-y5TyySEnTlNMHn1Smdx52otVOHzPq66NeKmG5n3omC-UqiWdCuGAwEFLHUsc3XiMMw5jw66MBekNMHxLSwEt_r9537ulPKYmKYqWQMl6tPx68bN6uhwsXmKqk9jyYI4fekWKot9mmJjNYU3OR21YIXGponhw6b-fZxyexwphKdiz5iYZpA2gQDLvlcVLCixTc5E-htDQHrs5nDnI-Tlp87d3acBCY6d7qctRb4cN3o2iyhGE3y-emZQfCIxGfDelWc1-hjzQg" + ] + ], + "jwks": [ + { + "kty": "RSA", + "n": "pn_IchC66SFQMhbTHLtbD58jKiYYvYo7S4wjPjzECMu27c6FJVFNXtlubtb7sC6-WTQ1Hv4rSQdPhafJbIxa32R51sRQpkTr3JFMYP7x22DRQD_ixtQJRaiHw-npnZ8qgVHJ_t4gRTc4HJkehBLGv4-rHVAKzFiQNU1u2AFw1fWMnMH4ob_pyisXVgcku3dy14l7sYSANlpXufY_qnkQFTv0wMH-C6Izl-akENS2UHpvTLhfCBVKPrFXJxul4XDbUwUbvNZUxTernEx8lV5gxCSgKSBEgoH9MgpD1YWFPbAnwi7p7e7MNGz5lH7eDFKkPQhXLWABU8UvEIIWyA95SQ", + "e": "AQAB", + "d": "jOvIjuqkGF-OzeZNpprY1t79V1ZJSFtwFmA1EB9EWKF7YcmTHeOzVZ04f-3LtvHJQB0U_PdpUXUzlE9QB2TAISWcje84x5G8A8Ki39HIiMJoOTYZTen3MxMSXfpkNXma8ztzeRkuPQcgoevjTSvLNiV2UegGS7CF1eeE8qQ9iYjeimPSnfVeLx70L9Rat9-2cs3tqxkPOPPechnKrLJneVbxSmimiAEOQ238gGyEwmlfEGPn3OiIdU5oT-qvyp2KasmLucNgQxGLCkc5ppC_RsstQyNjs8bj88bjq3ahVDCiCFs8n6iRHAEZC1CM7xcEyZjyJ9ozC5nB-Pw3hLBSdQ", + "p": "0LeDPVA0DOSV3Gy3M1t5JxPMmPsgsCbx8y1thLuP21FOiVwRixRsXW10CxH56mX1qS9WVodlcCsqy1U-7yGJK9r-De8FvQtS8hbKEiVGMW61qIcMCv8krWOk5qU7uhxHLTL6qkvCsCpLdHeR7x842Aq3AnMCsNuWpLl3G4c0Cps", + "q": "zDfdUHIR1PvvBGleEnJFqe0Kw8bW9dOEGusZJ4bDoz61QRyn149Y64b8VW1f4kp1aGBySDm40BgnvPJtTMY0Bm-dPmL7XupsTyt-WHLmD178HQmsVTVIL0VLEIm0yKX7SdpgBOV9FFpHAkn1Mq3H0-tm48DwhCyi-84_bkc2h-s", + "kid": "k54HQtDibyGcs9ZWVMfviHf-2qLcFUtpwY2rgxBk88M" + } + ], + "metadata": { + "openid_relying_party": { + "application_type": "web", + "client_id": "http://127.0.0.1:8000/oidc/rp", + "client_registration_types": [ + "automatic" + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "5s4qi1Ta-sEuKb5rJ8TzHmyGKaSu89pIXIi6w4Ekx6GL56mJDNE_MWJHsFjWXajfMdMQmZrSXAvLtXxmbhUui9Mq_IormhmEyyEJS0SyE9UKTxWzi0yd_n_C7OjFBhM-0ZyUlgl81E_sr-35P1A6b5WSYwMvRSR-P9yx_NI-XBQ48G_zdmk3CbuuzZsXZqqgj5U7OGWH-4Huosn9nH3FVkwX0OlWkgWM-J9DEWzGBjl9hfbbrMtM_obljHL2NfT6RJYER2IpdI8RCyQS3sMPt6ZHDskmuNlyMDNATCChXQJLnltwEjxcgvzjw_G9J25DwfdfVEhDF_0kCp44UMmS3Q", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8000/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise" + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8000/oidc/rp", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:47:47.547Z", + "is_active": true + } + } +] diff --git a/provider/manage.py b/provider/manage.py new file mode 100755 index 0000000..2c5122a --- /dev/null +++ b/provider/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'provider.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/provider/provider/__init__.py b/provider/provider/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/provider/provider/__pycache__/settingslocal.cpython-310.pyc b/provider/provider/__pycache__/settingslocal.cpython-310.pyc new file mode 100644 index 0000000..0ab14c6 Binary files /dev/null and b/provider/provider/__pycache__/settingslocal.cpython-310.pyc differ diff --git a/provider/provider/asgi.py b/provider/provider/asgi.py new file mode 100644 index 0000000..6f951b8 --- /dev/null +++ b/provider/provider/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for provider project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'provider.settings') + +application = get_asgi_application() diff --git a/provider/provider/settings.py b/provider/provider/settings.py new file mode 100644 index 0000000..3fa0bd1 --- /dev/null +++ b/provider/provider/settings.py @@ -0,0 +1,83 @@ +""" +Django settings for provider project. + +Generated by 'django-admin startproject' using Django 4.0.2. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from .settingslocal import * # noqa: F401 + + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'provider.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'provider.wsgi.application' + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.0/topics/i18n/ + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' +STATIC_ROOT = os.path.join(BASE_DIR, 'static') + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/provider/provider/settingslocal.py b/provider/provider/settingslocal.py new file mode 100644 index 0000000..fd0ce96 --- /dev/null +++ b/provider/provider/settingslocal.py @@ -0,0 +1,107 @@ +import aiohttp +import os + +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +SECRET_KEY = 'visione-cie-provider-local-dev' +DEBUG = True +ADMIN_PATH = 'admin/' +APPEND_SLASH = False + +OIDCFED_DEFAULT_TRUST_ANCHOR = "http://127.0.0.1:8000" +OIDCFED_TRUST_ANCHORS = [OIDCFED_DEFAULT_TRUST_ANCHOR] +OIDCFED_PROVIDER_PROFILE = "cie" +OIDCFED_PROVIDER_MAX_CONSENT_TIMEFRAME = 3600 +OIDCFED_REQUIRED_TRUST_MARKS = [] + +OIDCFED_IDENTITY_PROVIDERS = { + "spid": { + "http://127.0.0.1:8000/oidc/op": OIDCFED_DEFAULT_TRUST_ANCHOR, + }, + "cie": { + "http://127.0.0.1:8002/oidc/op": OIDCFED_DEFAULT_TRUST_ANCHOR, + }, +} + +HTTPC_PARAMS = { + "connection": {"ssl": True}, + "session": {"timeout": aiohttp.ClientTimeout(total=4)}, +} + +LOGIN_REDIRECT_URL = "/oidc/op/landing" +LOGOUT_REDIRECT_URL = "/oidc/op/landing" +LOGIN_URL = "/oidc/op/landing" + +ALLOWED_HOSTS = ['*'] +AUTH_USER_MODEL = 'spid_cie_oidc_accounts.User' + +INSTALLED_APPS = [ + 'spid_cie_oidc.accounts', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + "bootstrap_italia_template", + 'spid_cie_oidc.entity', + 'spid_cie_oidc.authority', + 'spid_cie_oidc.provider', + 'djagger' +] + +TEMPLATE_LOADERS = ( + 'django.template.loaders.eggs.Loader' +) + +DJAGGER_DOCUMENT = { + "app_names": ['spid_cie_oidc'], +} + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +DATA_UPLOAD_MAX_NUMBER_FIELDS = 65000 + +ADMINS = [('Visione', 'devnull@example.com')] + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + }, + }, + 'handlers': { + 'console': { + 'formatter': 'default', + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + }, + }, + 'loggers': { + 'django': { + 'handlers': ['console'], + 'level': 'ERROR', + 'propagate': False, + }, + 'spid_cie_oidc': { + 'handlers': ['console'], + 'level': 'INFO', + 'propagate': False, + } + } +} +SESSION_COOKIE_NAME = 'visione_provider_sessionid' +CSRF_COOKIE_NAME = 'visione_provider_csrftoken' diff --git a/provider/provider/settingslocal.py.example b/provider/provider/settingslocal.py.example new file mode 100644 index 0000000..0b20753 --- /dev/null +++ b/provider/provider/settingslocal.py.example @@ -0,0 +1,159 @@ +import aiohttp +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +# SECURITY WARNING: keep the secret key used in production secret! +# CHANGE THIS VALUE +SECRET_KEY = 'lrx(fg&+2e=$l=y8$!£$%$/£%412345234534543--345234-dfdfgsdf-myg%r3z!yjm(lg*l%-z' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +# the path corresponding the admin backend, default if not defined: admin/ +# CHANGE THIS VALUE +ADMIN_PATH = 'admin/' +APPEND_SLASH = False + +# required for onboarding checks and also for all the leafs +OIDCFED_DEFAULT_TRUST_ANCHOR = "http://127.0.0.1:8000" +OIDCFED_TRUST_ANCHORS = [OIDCFED_DEFAULT_TRUST_ANCHOR] +OIDCFED_PROVIDER_PROFILE = "cie" +#OIDCFED_PROVIDER_MAX_REFRESH = 10 #used in SPID +OIDCFED_PROVIDER_MAX_CONSENT_TIMEFRAME = 3600 #used in CIE (seconds) + +OIDCFED_REQUIRED_TRUST_MARKS = [] + +#OIDCFED_FEDERATION_TRUST_MARKS_PROFILES = { +# "openid_relying_party__public": {}, +# "openid_relying_party__private": {}, +#} + +HTTPC_PARAMS = { + "connection": {"ssl": True}, + "session": {"timeout": aiohttp.ClientTimeout(total=4)}, +} + +LOGIN_REDIRECT_URL = "/oidc/op/landing" +LOGOUT_REDIRECT_URL = "/oidc/op/landing" +LOGIN_URL = "/oidc/op/landing" + +ALLOWED_HOSTS = ['*'] +AUTH_USER_MODEL = 'spid_cie_oidc_accounts.User' + +INSTALLED_APPS = [ + 'spid_cie_oidc.accounts', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + "bootstrap_italia_template", + 'spid_cie_oidc.entity', + 'spid_cie_oidc.authority', + 'spid_cie_oidc.provider', + 'djagger' +] + +TEMPLATE_LOADERS = ( +'django.template.loaders.eggs.Loader' +) + +DJAGGER_DOCUMENT = { + "app_names" : ['spid_cie_oidc'], +} + +DATABASES = { + # if you need more power + # 'default': { + # 'ENGINE': 'django.db.backends.mysql', + # 'NAME': 'that-username', + # 'HOST': 'localhost', + # 'USER': 'that-user', + # 'PASSWORD': 'that-password', + # 'PORT': '', + # 'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"} + # }, + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +# https://docs.djangoproject.com/en/2.0/topics/i18n/ + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +DATA_UPLOAD_MAX_NUMBER_FIELDS = 65000 + +# email notification on errors +# DEFAULT_FROM_EMAIL = 'fedauth-noreply@DOMAIN' +# SERVER_EMAIL = DEFAULT_FROM_EMAIL +# EMAIL_HOST = 'smtpservice.yourdomain.it' +# EMAIL_HOST_USER = 'myemail@hotmail.com' +# EMAIL_HOST_PASSWORD = 'mypassword' +# EMAIL_PORT = 587 +# EMAIL_USE_TLS = True + +ADMINS = [('name surname', 'user1@DOMAIN'), + ('name surnale', 'user2@DOMAIN'),] + +# LOGGING +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + # exact format is not important, this is the minimum information + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + }, + 'detailed': { + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s [%(pathname)s %(funcName)s:%(lineno)s]' + }, + }, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse' + } + }, + 'handlers': { + 'mail_admins': { + 'formatter': 'detailed', + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + }, + 'console': { + 'formatter': 'default', + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + }, + "daily": { + "class": "logging.handlers.TimedRotatingFileHandler", + "level": "INFO", + "formatter": "default", + "filename": f"{BASE_DIR}/logs/provider.log", + "when": "midnight", + "backupCount": 96 + } + }, + 'loggers': { + 'django': { + 'handlers': ['console', 'mail_admins'], + 'level': 'ERROR', + 'propagate': False, + }, + 'spid_cie_oidc': { + 'handlers': ['console', 'mail_admins', "daily"], + 'level': 'INFO', + 'propagate': False, + } + } +} diff --git a/provider/provider/urls.py b/provider/provider/urls.py new file mode 100644 index 0000000..09b9b96 --- /dev/null +++ b/provider/provider/urls.py @@ -0,0 +1,64 @@ +"""provider URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.conf import settings +from django.contrib import admin + +from django.views.static import serve +from django.urls import include, path, re_path + +from spid_cie_oidc.entity.urls import urlpatterns as entity_urlpatterns + +admin.site.site_header = "OIDC Federation Provider Administration" +admin.site.site_title = "OIDC Federation" +admin.site.index_title = "Welcome to OIDC Federation Provider Admin backend" + +ADMIN_PATH = getattr(settings, 'ADMIN_PATH', 'admin/') + +urlpatterns = [ + path(f"{ADMIN_PATH}", admin.site.urls), + re_path('^static/(?P.*)$', + serve, { + 'document_root': settings.STATIC_ROOT, + 'show_indexes': True + } + ), +] + +urlpatterns.extend(entity_urlpatterns) + +if 'spid_cie_oidc.provider' in settings.INSTALLED_APPS: + from spid_cie_oidc.provider.urls import urlpatterns as op_urlpatterns + urlpatterns.extend(op_urlpatterns) + + from spid_cie_oidc.entity.views import entity_configuration, resolve_entity_statement + + urlpatterns.extend( + [ + path( + f"oidc/op/.well-known/openid-federation", + entity_configuration, + name="op_entity_configuration", + ), + path( + "oidc/op/resolve", + resolve_entity_statement, + name="op_entity_resolve", + ), + ] + ) + +if 'djagger' in settings.INSTALLED_APPS: + urlpatterns.append(path('rest/', include('djagger.urls'))) diff --git a/provider/provider/wsgi.py b/provider/provider/wsgi.py new file mode 100644 index 0000000..b18c9d4 --- /dev/null +++ b/provider/provider/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for provider project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'provider.settings') + +application = get_wsgi_application() diff --git a/provider/run.sh b/provider/run.sh new file mode 100644 index 0000000..50cfd77 --- /dev/null +++ b/provider/run.sh @@ -0,0 +1,3 @@ +#!/bin/bash +./manage.py migrate +./manage.py runserver 0.0.0.0:8002 diff --git a/relying_party/dump_data.sh b/relying_party/dump_data.sh new file mode 100644 index 0000000..c1ead92 --- /dev/null +++ b/relying_party/dump_data.sh @@ -0,0 +1,2 @@ +#!/bin/bash +./manage.py dumpdata -e admin -e spid_cie_oidc_relying_party -e auth -e contenttypes -e sessions --indent 2 > dumps/example.json diff --git a/relying_party/dumps/example.json b/relying_party/dumps/example.json new file mode 100644 index 0000000..671820d --- /dev/null +++ b/relying_party/dumps/example.json @@ -0,0 +1,1174 @@ +[ + { + "model": "spid_cie_oidc_accounts.user", + "pk": 2, + "fields": { + "password": "pbkdf2_sha256$320000$CmkauYnR0tV0uXPlxcDXKr$OmpasMWm+T4oUHAklupXMTiLGWyUEfbF5WPInKCBf0Q=", + "last_login": "2022-03-31T13:41:41.687Z", + "is_superuser": true, + "username": "admin", + "is_staff": true, + "date_joined": "2022-03-19T17:17:32.817Z", + "first_name": null, + "last_name": null, + "is_active": true, + "email": "admin.rp@example.it", + "origin": null, + "attributes": {}, + "groups": [], + "user_permissions": [] + } + }, + { + "model": "spid_cie_oidc_entity.federationentityconfiguration", + "pk": 1, + "fields": { + "created": "2022-02-06T17:25:43.158Z", + "modified": "2022-03-31T13:42:27.048Z", + "uuid": "10b07ffc-5d22-4625-b5b9-d710d0b9a1de", + "sub": "http://127.0.0.1:8001", + "default_exp": 33, + "default_signature_alg": "RS256", + "authority_hints": [ + "http://127.0.0.1:8000" + ], + "jwks_fed": [ + { + "kty": "RSA", + "n": "6SDksa64IjBk7HNQC7x5C9nMARGaanfaUm3wC2WulwG_8a5aIy4CEwXN2LENkCyypODqWZcTAwCzWsiihVN9kDcEs7UNu-X1WokK252D7_DRY-FXI8AB3P0CxTngs0k-OjcmbxqVW2U8G56rJFp4G_CYA4vzBoAP_5skFBt-4a5lYJlBfJ2gJlE0vh4_46oyNuUT9kmKauR7npVSHjBUSxYyDELzoaPmvR7SkX4sJe0MK39HES6s4no9G7BraLp75eOwEQmHgEhESWscSOf_CmC5ALnzWJ3FcFhxgsuMkdjoU7bH09y8pdKs64kR2znxs-yIWrPFW8hJKnySc2fk8w", + "e": "AQAB", + "d": "Npw19klvaNLdUWZRwe4MjPIgD8AH5BjfU5_dM05Gb6lBRWQKSWNlqP8bET-oZbWSw3zMaOAy2-k2GnYVXBYKu9WnjFFFPlbH-sVPfdKQLYzEABmxR_aaeSHrnDfKozTtFsYEgtI_WoGEaxPoE0P-Ds11Tp9h9ovZM48sDGnEdyjopnLPEZBR6VinP_yF1kfDg0kcIPmM1ZchIqJrnQpoKWeVTXtFFGrVqOAYmm4xBfP4U8TEimbeJJuYkJ9gLNnRDg_FC-ZPUiBIXigWZsEeJyevymP-NH4lq3osLgFOq0sqPxS3zkDwx9tWfT5UyqrCCortiQd2dxKzxZlEEvlQAQ", + "p": "-1JcdcT2FdwavmPqtfOEKFUGBM9hhvwgX7KyCwl8tmresJQz8pNDkILMeKJf8ZCDVU7v4_i4C_P8oe41f2_SDsv9AIYh09zu_tQsMMdH_lqNx0YP8Yv25N5KOxnSOBO837SieFZ2xkbolXXIV7WIHrdFiyAOMOSWlETEO6JNu_M", + "q": "7XfVt4ArSMLmRvvSl11yDF25t1aR3ylUmwZgLAJTNo76j-zo8Q2Ty7GfCIQmLOhOZTkwqnrbmwEBMEBsomWZFh_j90CLMyn1ccYUjiTI4CHJOTLMA8rYVWeArYkqek1jC4TQ9e1PkRrPcEvq2Tak8GFsBhnhOCzejJrMDgqkcwE", + "kid": "wL_LmP8UjLVN-sAeoZ7KGEMJfBkFtbNLd24eDD9RGCs" + } + ], + "jwks_core": [ + { + "use": "sig", + "kty": "RSA", + "n": "uXfJA-wTlTCA4FdsoE0qZfmKIgedmarrtWgQbElKbWg9RDR7Z8JVBaRLFqwyfyG1JJFm64G51cBJwLIFwWoF7nxsH9VYLm5ocjAnsR4RhlfVE0y_60wjf8skJgBRpiXQPlwH9jDGaqVE_PEBTObDO5w3XourD1F360-v5cLDLRHdFJIitdEVtqATqY5DglRDaKiBhis7a5_1bk839PDLaQhju4XJk4tvDy5-LVkMy5sP2zU6-1tJdA-VmaBZLXy9n0967FGIWmMzpafrBMOuHFcUOH56o-clDah_CITH1dq2D64K0MYhEpACO2p8AH4K8Q6YuJ1dnkVDDwZp2C84sQ", + "e": "AQAB", + "d": "n_ePK5DdOxqArf75tDGaViYrXDqRVk8zyl2dfKiiR0dXQJK7tbzJtHoGQeH4E-sw3_-Bc7OKY7DcbBWgHTijMRWj9LkAu9uCvqqGMaAroWH0aBcUmZAsNjcyUIyJ3_JRcNfUDiX3nVg67qe4ZWnMDogowaVZv3aXJiCvKE8aJK4BV_nF3Nt5R6zUYpjZQ8T1GDZCV3vza3qglDrXe8zoc-p8cLs3rJn7tMVSJVznCIqOfeM1VIg0I3n2bubYOx88sckHuDnfXTiTDlyq5IwDyBHmiIe3fpu-c4e1tiBmbOf2IqDCaX8SdpnU2gTj9YlZtRNqmh3NB_rksBKWLz3uIQ", + "p": "5PA7lJEDd3vrw5hlolFzvjvRriOu1SMHXx9Y52AgpOeQ6MnE1pO8qwn33lwYTSPGYinaq4jS3FKF_U5vOZltJAGBMa4ByEvAROJVCh958rKVRWKIqVXLOi8Gk11kHbVKw6oDXAd8Qt_y_ff8k_K6jW2EbWm1K6kfTvTMzoHkqrU", + "q": "z2QeMH4WtrdiWUET7JgZNX0TbcaVBgd2Gpo8JHnfnGOUsvO_euKGgqpCcxiWVXSlqffQyTgVzl4iMROP8bEaQwvueHurtziMDSy9Suumyktu3PbGgjqu_izRim8Xlg7sz8Hs2quJPII_fQ8BCoaWpg30osFZqCBarQM7CWhxR40", + "kid": "YhuIJU6o15EUCyqA0LHEqJd-xVPJgoyW5wZ1o4padWs" + }, + { + "alg": "RSA-OAEP", + "use": "enc", + "kty": "RSA", + "n": "rZDx5jxztL4RL4obgFtOZCCelabRolJo_WHdvHVM0Pe5M1rCYXmcnGq5I2M7MdXrFHLa_Yl5rAzkxKyFgpB48vkmqIGNl8NX-6c95XDMQttHmp_atrPnKyJ0E2Zk1ZTomZMWnQCIXQYfcJI2x4W5Mjyh8Ip0ZDDUiqlYsADkHCThj0q6RjJRXtmK_rrt1-tcHOQbIHDVKXYACMWOzUr1YDGWgrFjPu2D2QAXmO3qxhaqIdABwim6XKuLYwzTlIeHJyeEZQiVLEY_Notu5GVQGeL8qMnW3SsqBw7rMYxKgLOcSk2-2J5_orToRNy0x1LQfMtHG3ic8KcFefV7UZeR3w", + "e": "AQAB", + "d": "Agb1P-F-bVupnNWH_5ZYh-8S7qb5I500yyjS6A9dVfvs736BGZYhQc5uoZQtrglwzgIA96uOmwW3h6Mx-469h1gTny3FE3vrmNEvIKogRRATssxMR8VWXU4Nma6gz4jp0MlgApKKPhPmkBrN925i9a_ODNeBI9dSKYP-Y4RPJb5RWBj2SwL62AwfSAYD012qUQAOw9uYP9c2gIA2sWRnNG0ufe6YTh0UDZub3B34BCoMf8Cr0cZZ4AvjVqoPBWWLZm265TDRHmJ3cS8EdMsSYCzQSaMy5B2wEwGmilO14TiNroDN1UcdoANhmXC9lzZWYx8Iz6BYH4ybk4fwGinEWQ", + "p": "7-9WcW5dg64vEAok88rZESb9ZXP6FgPMrZ2wCIDxP3XxhqQlaVANE2bSBLQYrwxCpKlIznCJOvOY2FALhBcF5GKdBhUrBhs7Iz46ACr2HKr7mQ5EiigDwMmdIJ5LGJL-RVevP2Ye4QxOWQbn3jttc9fsj2Pw3FjYaeUurs9AnUs", + "q": "uS__hm1ZVGN1FPmT6LfiM5-_xPmZwNwKRWV02e4drqa_qXQgbaMzZoSAc4duXXXgbyXc7LaJF4_fqR3Cpr1rXsXMTuJf9rb0uN4wZ9awZgmwbBx1JM2ikoQt08xvdxuH_7_0j584Ta7Go1TO2XX1QII06nr7EkVJ8HJqsE665T0", + "kid": "dlDtBxB1sKzY5hZTxJRLpvKVLeWHy5QYsFTSxETF5qM" + } + ], + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/sp-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkZpZll4MDNibm9zRDhtNmdZUUlmTkhOUDljTV9TYW05VGM1bkxsb0lJcmMifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvcnAvIiwiaWF0IjoxNjQ1NjEyNDAxLCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vcnAiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.mSPNR0AOPBn3UNJAIbrWUMQ8vGTetQajpa3i59JDKDXYWqo2TUGh4AQBghCiG3qqV9cl-hleLtuwoeZ1InKHeslTLftVdcR3meeMLs3mLobHYr26Mi7pC7-jx1ZFVyk4GXl7mn9WVSQGEUOiuhL01tdlUfxf0TJSFSOMEZGpCA3hXroLOnEl3FjkAw7sPvjfImsbadbHVusb72HTTs1n5Xo7z3As3fDWHcxD-fvvq0beu9cx-L2sT4YaNC-ELd1M3m5r0NIjjEUAt4Gnot-l5Z3-C_bA41uvh2hX34U_fGZ6jpmuluJo1Lqi26N8LTB-Rbu0UMaZnkRg9E72_YRZig" + } + ], + "trust_mark_issuers": {}, + "entity_type": "openid_relying_party", + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8001/resolve", + "organization_name": "Example RP", + "homepage_uri": "http://127.0.0.1:8001", + "policy_uri": "http://127.0.0.1:8001/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "contacts": [ + "ops@rp.example.it" + ] + }, + "openid_relying_party": { + "application_type": "web", + "organization_name": "Example RP", + "client_id": "http://127.0.0.1:8001", + "client_registration_types": [ + "automatic" + ], + "jwks_uri": "http://127.0.0.1:8001/oidc/rp/openid_relying_party/jwks.json", + "signed_jwks_uri": "http://127.0.0.1:8001/oidc/rp/openid_relying_party/jwks.jose", + "jwks": { + "keys": [ + { + "alg": "RS256", + "kty": "RSA", + "use": "sig", + "n": "uXfJA-wTlTCA4FdsoE0qZfmKIgedmarrtWgQbElKbWg9RDR7Z8JVBaRLFqwyfyG1JJFm64G51cBJwLIFwWoF7nxsH9VYLm5ocjAnsR4RhlfVE0y_60wjf8skJgBRpiXQPlwH9jDGaqVE_PEBTObDO5w3XourD1F360-v5cLDLRHdFJIitdEVtqATqY5DglRDaKiBhis7a5_1bk839PDLaQhju4XJk4tvDy5-LVkMy5sP2zU6-1tJdA-VmaBZLXy9n0967FGIWmMzpafrBMOuHFcUOH56o-clDah_CITH1dq2D64K0MYhEpACO2p8AH4K8Q6YuJ1dnkVDDwZp2C84sQ", + "e": "AQAB", + "kid": "YhuIJU6o15EUCyqA0LHEqJd-xVPJgoyW5wZ1o4padWs" + }, + { + "alg": "RSA-OAEP", + "use": "enc", + "kty": "RSA", + "n": "rZDx5jxztL4RL4obgFtOZCCelabRolJo_WHdvHVM0Pe5M1rCYXmcnGq5I2M7MdXrFHLa_Yl5rAzkxKyFgpB48vkmqIGNl8NX-6c95XDMQttHmp_atrPnKyJ0E2Zk1ZTomZMWnQCIXQYfcJI2x4W5Mjyh8Ip0ZDDUiqlYsADkHCThj0q6RjJRXtmK_rrt1-tcHOQbIHDVKXYACMWOzUr1YDGWgrFjPu2D2QAXmO3qxhaqIdABwim6XKuLYwzTlIeHJyeEZQiVLEY_Notu5GVQGeL8qMnW3SsqBw7rMYxKgLOcSk2-2J5_orToRNy0x1LQfMtHG3ic8KcFefV7UZeR3w", + "e": "AQAB", + "kid": "dlDtBxB1sKzY5hZTxJRLpvKVLeWHy5QYsFTSxETF5qM" + } + ] + }, + "client_name": "Name of an example organization", + "contacts": [ + "ops@rp.example.it" + ], + "grant_types": [ + "refresh_token", + "authorization_code" + ], + "redirect_uris": [ + "http://127.0.0.1:8001/oidc/rp/callback" + ], + "response_types": [ + "code" + ], + "subject_type": "pairwise", + "id_token_signed_response_alg": "RS256", + "userinfo_signed_response_alg": "RS256", + "userinfo_encrypted_response_alg": "RSA-OAEP", + "userinfo_encrypted_response_enc": "A128CBC-HS256", + "token_endpoint_auth_method": "private_key_jwt" + } + }, + "constraints": {}, + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 1, + "fields": { + "created": "2022-02-26T23:11:52.097Z", + "modified": "2022-02-26T23:11:52.097Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000", + "exp": "2022-04-23T16:21:05Z", + "iat": "2022-04-23T15:48:05Z", + "statement": { + "exp": 1650730865, + "iat": 1650728885, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "o8IolRjZlkzct-48rhrVlTnYU1pkMbVJD-DU05oMS9RVGrsFypg98m-Kw4H4qNPyQVx2OQORi-xShgk7HU-gK_2pVguYkv06FajL_edEAqqsqt_74Qf2WLRC5pfJG_z9OPzY8JGyk-z3SbeHN_BXKI8GY5E4WU2SstmQ9fyL4CxtRfjUia8limTC_3MOpT3zi5nr03jfbjpnjga51qXurxnlzc3a_xjk5RAApKxUvNwhJ275M0CmB99DjPwF6BLvUgJqgyCpUOn36LOhI4FquVqhqhiwKlMmiMe3yy0yNQ7FXBWxjzhexbpyc3Vu7zFIHPAcC4UyIQhc3waEj2viXw", + "kid": "BXvfrlnhAMuHR07ajUmAcBRQcSzmw0c_RAgJnpS-9WQ" + } + ] + }, + "metadata": { + "federation_entity": { + "contacts": [ + "ops@localhost" + ], + "federation_fetch_endpoint": "http://127.0.0.1:8000/fetch", + "federation_resolve_endpoint": "http://127.0.0.1:8000/resolve", + "federation_trust_mark_status_endpoint": "http://127.0.0.1:8000/trust_mark_status", + "homepage_uri": "http://127.0.0.1:8000", + "organization_name": "example TA", + "policy_uri": "http://127.0.0.1:8000/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "federation_list_endpoint": "http://127.0.0.1:8000/list" + } + }, + "trust_mark_issuers": { + "https://www.spid.gov.it/certification/rp/public": [ + "https://registry.spid.agid.gov.it", + "https://public.intermediary.spid.it" + ], + "https://www.spid.gov.it/certification/rp/private": [ + "https://registry.spid.agid.gov.it", + "https://private.other.intermediary.it" + ], + "https://sgd.aa.it/onboarding": [ + "https://sgd.aa.it" + ] + }, + "constraints": { + "max_path_length": 1 + } + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4NjUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.muSpd3kES6MPnuP6AJHvQLPn_mgDWNsUwetOEG7sliZvHGAERO7nMlG8lEop-mJZioZ3yNP553Jk72ZPyqxehF_KXNyRCrlHzuMKMqHKl32YNjBFuhP2i-o8Mql_1fb47Br5oPo6ZtBVFDtKek0JLoLWTyzYlefu1FIBOWNrqTTCzfr1U4XcwZvGPszHK0L1IkW2ypLwfYSXtBdhr77p_M3HWwYRSLLGJfUS2m_n3mQyDb0G2OgIeZ5yK5CtK16cZfXVD-hBLsoCC7xPsHiIfKTxZdgalXRHpqM5tWj9trK2NsSgxKfFgKlIjOdWg6kUyup2wgpVI6shyJf220KrTQ" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 2, + "fields": { + "created": "2022-02-26T23:11:52.187Z", + "modified": "2022-02-26T23:11:52.187Z", + "iss": "http://127.0.0.1:8000/oidc/op", + "sub": "http://127.0.0.1:8000/oidc/op", + "exp": "2022-04-25T15:48:05Z", + "iat": "2022-04-23T15:48:05Z", + "statement": { + "exp": 1650901685, + "iat": 1650728885, + "iss": "http://127.0.0.1:8000/oidc/op", + "sub": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ] + }, + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8000/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8000", + "policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8000/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8000/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8000/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8000/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8000/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "client_registration_types_supported": [ + "automatic" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "https://attributes.eid.gov.it/spid_code", + "given_name", + "family_name", + "place_of_birth", + "birthdate", + "gender", + "https://attributes.eid.gov.it/company_name", + "https://attributes.eid.gov.it/registered_office", + "https://attributes.eid.gov.it/fiscal_number", + "https://attributes.eid.gov.it/company_fiscal_number", + "https://attributes.eid.gov.it/vat_number", + "document_details", + "phone_number", + "email", + "https://attributes.eid.gov.it/e_delivery_service", + "https://attributes.eid.gov.it/eid_exp_date", + "address" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "01_4aI2Lu5ggsElmRkE_S_a83V_szXU0txV4db2hmJ8HR1Y2s7PsZZ5-emGpnTydGrR3n-QExeEEIcFt_a06Ryiink34RQcKoGXUDBMBU0Bu8G7NcZ99YX6yeG9wFi4xs-WviTPmtPqijkz6jm1_ltWDcwbktfkraIRKKggZaEl9ldtsFr2wSpin3AXuGIdeJ0hZqhF92ODBLGjJlaIL9KlwopDy56adReVnraawSdrxmuPGj78IEADNAme2nQNvv9UCu0FkAn5St1bKds3Gpv26W0kjr1gZLsmQrj9lTcDk_KbAwfEY__P7se62kusoSuKMTQqUG1TQpUY7oFGSdw", + "e": "AQAB", + "kid": "dB67gL7ck3TFiIAf7N6_7SHvqk0MDYMEQcoGGlkUAAw" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImNJOHBCdldkSGdjdmxkbUk3SFhiUE1mRmhTS2tmQUNJYm9mc0Q2cTJKdEUiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxQVlHRjBDX2o1Q1BlWU1SSF9ta2huWXRudk1fQ21kbFdTRkhLOVlFYXMzZ0oxOTIyRG5oRngzRUl3MVUta1p3dzdiZ056NkMxbF8xY3lqa2dCU3VXeE9iT2JLNHpWTFpCR1VaZlhNQk5GbTJoZHI1Vm9MS0xlbXRaSHBCT21kc3hSMVIzVEozMEQwdlktTEpiVXRyd3VSQzhvT0NZSTV3aGNFYzhCNHV0RWV4M1c2ZENqQklqc0dmZEpJcVpIaGZMTjN4d1BNT2prRzVBX3k4V25UVmZHcTlPVWV1YVVuMy1QVnMzTzlMTXBPQmxhVDdHcmVYZ1VxV0FXLXp4VUNzaUhIVVZsOXVJQUdpNU9IdWtJdUJzMkNsQWxNWF9TNm1iTjdfN0tJR3gybVRJcmNnVkJQSmdZb3A5cW5TcWNYdWJfRVFUS3NGdE5HaWdzVUZuRHFGTlEiLCJraWQiOiJjSThwQnZXZEhnY3ZsZG1JN0hYYlBNZkZoU0trZkFDSWJvZnNENnEySnRFIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXNfc3VwcG9ydGVkIjpbImF1dG9tYXRpYyJdLCJjb2RlX2NoYWxsZW5nZV9tZXRob2RzX3N1cHBvcnRlZCI6WyJTMjU2Il0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9zcGlkQ29kZSIsImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9uYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2ZhbWlseU5hbWUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvcGxhY2VPZkJpcnRoIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvdW50eU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGF0ZU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZ2VuZGVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvbXBhbnlOYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L3JlZ2lzdGVyZWRPZmZpY2UiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZmlzY2FsTnVtYmVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2l2YUNvZGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvaWRDYXJkIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L21vYmlsZVBob25lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2VtYWlsIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2FkZHJlc3MiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZXhwaXJhdGlvbkRhdGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGlnaXRhbEFkZHJlc3MiXSwiZ3JhbnRfdHlwZXNfc3VwcG9ydGVkIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXSwiaWRfdG9rZW5fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIkVTMjU2Il0sImlzc3VlciI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjAxXzRhSTJMdTVnZ3NFbG1Sa0VfU19hODNWX3N6WFUwdHhWNGRiMmhtSjhIUjFZMnM3UHNaWjUtZW1HcG5UeWRHclIzbi1RRXhlRUVJY0Z0X2EwNlJ5aWluazM0UlFjS29HWFVEQk1CVTBCdThHN05jWjk5WVg2eWVHOXdGaTR4cy1XdmlUUG10UHFpamt6NmptMV9sdFdEY3dia3Rma3JhSVJLS2dnWmFFbDlsZHRzRnIyd1NwaW4zQVh1R0lkZUowaFpxaEY5Mk9EQkxHakpsYUlMOUtsd29wRHk1NmFkUmVWbnJhYXdTZHJ4bXVQR2o3OElFQUROQW1lMm5RTnZ2OVVDdTBGa0FuNVN0MWJLZHMzR3B2MjZXMGtqcjFnWkxzbVFyajlsVGNEa19LYkF3ZkVZX19QN3NlNjJrdXNvU3VLTVRRcVVHMVRRcFVZN29GR1NkdyIsImUiOiJBUUFCIiwia2lkIjoiZEI2N2dMN2NrM1RGaUlBZjdONl83U0h2cWswTURZTUVRY29HR2xrVUFBdyJ9XX0sInNjb3Blc19zdXBwb3J0ZWQiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXSwibG9nb191cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RhdGljL3N2Zy9zcGlkLWxvZ28tYy1sYi5zdmciLCJvcmdhbml6YXRpb25fbmFtZSI6IlNQSUQgT0lEQyBpZGVudGl0eSBwcm92aWRlciIsIm9wX3BvbGljeV91cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9lbi93ZWJzaXRlL2xlZ2FsLWluZm9ybWF0aW9uLyIsInJlcXVlc3RfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWVzdF91cmlfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWlyZV9yZXF1ZXN0X3VyaV9yZWdpc3RyYXRpb24iOnRydWUsInJlc3BvbnNlX3R5cGVzX3N1cHBvcnRlZCI6WyJjb2RlIl0sInN1YmplY3RfdHlwZXNfc3VwcG9ydGVkIjpbInBhaXJ3aXNlIiwicHVibGljIl0sInRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kc19zdXBwb3J0ZWQiOlsicHJpdmF0ZV9rZXlfand0Il0sInRva2VuX2VuZHBvaW50X2F1dGhfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwidXNlcmluZm9fZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwicmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19LCJhdXRob3JpdHlfaGludHMiOlsiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyJdfQ.QWs6tJThBVe-sJdr_3Wtzd6eCkqWMjOW51fAd4CBVS_qYc8xN2R4BBPFq_TIIGAwU1irpBeaYjTa-g5dMUmZdULytySevN6Uta21ckR2YwXzgXGnXRDatJLirwI0Ifdh2U4tiycYEePlon_DnULJcTmmpI9ixZOz5mS4M6wgAxBOiZZT2HNBeoRzGT1o2WEqkkbzO7X8OKmUzS17qwfp6M4IRVtfhA2wlbIE4Kl14pD7GJu_PzdyTKvAmCZEmEVXw5T2qqXciJFdFpZ4D1iHSGy760pFQcURSm5uChaPMEtoh01rvf16DWxBmhzeyPeP7y6hnl6PbBZ55EwiBHO_Yw" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 3, + "fields": { + "created": "2022-02-26T23:11:52.206Z", + "modified": "2022-02-26T23:11:52.206Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/op", + "exp": "2022-04-25T15:48:05Z", + "iat": "2022-04-23T15:48:05Z", + "statement": { + "exp": 1650901685, + "iat": 1650728885, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ] + }, + "metadata_policy": { + "openid_provider": { + "subject_types_supported": { + "value": [ + "pairwise" + ] + }, + "id_token_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "userinfo_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "token_endpoint_auth_methods_supported": { + "value": [ + "private_key_jwt" + ] + }, + "userinfo_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "userinfo_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "request_object_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/op-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwiaWF0IjoxNjUwNzI4ODg1LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vb3AiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.E4mNyBz_rlIks8UT5ND1AtDCtbBncOUdm05E6RuXilMTjnuqz3SIkAPqKNP3ZNWdHp17ZqapzndPjqckDAB2h6Ws8WUI-rii7aG06O6fh2ccrBdMc0Lo9N5ZNxB9MBcx5q8vPXyznZ1lJz8XfgRAP1QFYQ6xIe2wg8g5lQQtDSyCGnPbgbxD5FyBri8oWqV3T61WKGng9rvnKeWaV7I3SZokaHGSv8J8jYQBRiY1_6pJl4qOB_3mDsJYVWgf9BZn_4ENVLAlrTcrP__5wl10V2xL3mnj-SpAoOsDskMMZhmyj_BXEFS_TAhb4QFCbSH0qYvhGrZu_c79hPDB3WFLqQ" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoiMUFZR0YwQ19qNUNQZVlNUkhfbWtobll0bnZNX0NtZGxXU0ZISzlZRWFzM2dKMTkyMkRuaEZ4M0VJdzFVLWtad3c3YmdOejZDMWxfMWN5amtnQlN1V3hPYk9iSzR6VkxaQkdVWmZYTUJORm0yaGRyNVZvTEtMZW10WkhwQk9tZHN4UjFSM1RKMzBEMHZZLUxKYlV0cnd1UkM4b09DWUk1d2hjRWM4QjR1dEVleDNXNmRDakJJanNHZmRKSXFaSGhmTE4zeHdQTU9qa0c1QV95OFduVFZmR3E5T1VldWFVbjMtUFZzM085TE1wT0JsYVQ3R3JlWGdVcVdBVy16eFVDc2lISFVWbDl1SUFHaTVPSHVrSXVCczJDbEFsTVhfUzZtYk43XzdLSUd4Mm1USXJjZ1ZCUEpnWW9wOXFuU3FjWHViX0VRVEtzRnROR2lnc1VGbkRxRk5RIiwia2lkIjoiY0k4cEJ2V2RIZ2N2bGRtSTdIWGJQTWZGaFNLa2ZBQ0lib2ZzRDZxMkp0RSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF3TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRGcxTENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5FNG1OeUJ6X3JsSWtzOFVUNU5EMUF0REN0YkJuY09VZG0wNUU2UnVYaWxNVGpudXF6M1NJa0FQcUtOUDNaTldkSHAxN1pxYXB6bmRQanFja0RBQjJoNldzOFdVSS1yaWk3YUcwNk82ZmgyY2NyQmRNYzBMbzlONVpOeEI5TUJjeDVxOHZQWHl6bloxbEp6OFhmZ1JBUDFRRllRNnhJZTJ3ZzhnNWxRUXREU3lDR25QYmdieEQ1RnlCcmk4b1dxVjNUNjFXS0duZzlydm5LZVdhVjdJM1Nab2thSEdTdjhKOGpZUUJSaVkxXzZwSmw0cU9CXzNtRHNKWVZXZ2Y5QlpuXzRFTlZMQWxyVGNyUF9fNXdsMTBWMnhMM21uai1TcEFvT3NEc2tNTVpobXlqX0JYRUZTX1RBaGI0UUZDYlNIMHFZdmhHclp1X2M3OWhQREIzV0ZMcVEifV19.Y7wBEFfTvwTpc9uVGUpJd3GsHLLupGJbe5qRTycjciI46Ev54840P4-9S5Q7yqpyMUKoVK_n27qU6GHzCdTcZRGY6_w3nXIy_m7g7pIHSGfTCQC1JZQ4sQcc7oNZL-8LEAidyUVbgvT02W334sWCpvWrwUqy8CozroJ4j46aWGgmLaw68kaXgUMLJ_LwIkLbAEPZcgiMohslyB4rB1W2CrJUa9guyOXq8U_Z3FxQ8hUyvDdgTrY3ED4A3lCEzVXm0vpiYrpO8xr_-p1okVilQvayylbp0z9XG8m2uRJqQ2CZCkwcDvyGWtLSR_VnRbGAvUkLBD88cGMh_Wkm0V0dJA" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 4, + "fields": { + "created": "2022-03-31T13:44:50.731Z", + "modified": "2022-03-31T13:44:50.731Z", + "iss": "http://127.0.0.1:8002/oidc/op", + "sub": "http://127.0.0.1:8002/oidc/op", + "exp": "2022-04-25T15:48:05Z", + "iat": "2022-04-23T15:48:05Z", + "statement": { + "exp": 1650901685, + "iat": 1650728885, + "iss": "http://127.0.0.1:8002/oidc/op", + "sub": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ] + }, + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8002/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8002", + "policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8002/static/svg/logo-cie.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8002/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8002/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8002/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8002/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8002/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "client_registration_types_supported": [ + "automatic" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "given_name", + "family_name", + "birthdate", + "gender", + "phone_number", + "https://attributes.eid.gov.it/fiscal_number", + "phone_number_verified", + "email", + "address", + "document_details", + "https://attributes.eid.gov.it/physical_phone_number" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "e": "AQAB", + "n": "rJoSYv1stwlbM11tR9SYGIJuzqlJe2bv2N35oPRbwV_epjNWvGG2ZqEj53YFMC8AMZNFhuLa_LNwr1kLVE-jXQe8xjiLhe7DgMf1OnSzq9yAEXVo19BPBwkgJe2jp9HIgM_nfbIsUbSSkFAM2CKvGb0Bk2GvvqXZ12P-fpbVyA9hIQr6rNTqnCGx2-v4oViGG4u_3iTw7D1ZvLWmrmZOaKnDAqG3MJSdQ-2ggQ-Aiahg48si9C9D_JgnBV9tJ2eCS58ZC6kVG5sftElQVdH6e26mz464TZj5QgCwZCTsAQfIvBoXSdCKxpnvsFfrajz4q9BiXAryxIOl5fLmCFVNhw", + "kid": "Pd2N9-TZz_AWS3GFCkoYdRaXXls8YPhx_d_Ez7JwjQI" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8002/static/images/logo-cie.png", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "response_modes_supported": [ + "query", + "form_post" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "authority_hints": [ + "http://127.0.0.1:8000" + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IlpoU29hT2VkVk9zQnc2bTJ2Y2x3U1dpcXFuR2VPU3RULWdVY2xvdF82N3ciLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0ZzNhRTlmZDZsdFh6TnJpbV80Q0dLWVdmQzNucWNfdHY0WGphdzQ3M0NjcmZpcUR6ZVRLSGZSZmJ2YnFiMUR3bUk0ZnZDT2k1MUVWY21LTG5UaHpYeW5BVXB5VXZzd3ZMOF91emdEV08xUlNtQkcxTDBSRS1Da0tpaDRrZVhoMWt1OWhOczFfVi04MmRLNW9MT1ItVkpMbmhaQ3FUaFI0SEg2VHFMampXcnJYZnNIVlJ2YXVKaWxYNkZ4R2I1SkZvYzI3Vnh4ZEgyYzZQMlNIQzl3dUI4dG5mRzdPU3JTRDFnMmg3bFRYYklmbTc4YTBvcDY3ZF9qdXB6a29Lb0NUbXprUjJ6dndUVlZEZDk5dmtETFkyV1htYjhoSXdHNmRRWlhZbGtocUFZS3pUdVRaMHRqVmgwT3JxZkR4WXRMSDN3UXp6YUpPUmV3WllxTHlCMDlQOHciLCJraWQiOiJaaFNvYU9lZFZPc0J3Nm0ydmNsd1NXaXFxbkdlT1N0VC1nVWNsb3RfNjd3In1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNvZGVfY2hhbGxlbmdlX21ldGhvZHNfc3VwcG9ydGVkIjpbIlMyNTYiXSwiY2xpZW50X3JlZ2lzdHJhdGlvbl90eXBlc19zdXBwb3J0ZWQiOlsiYXV0b21hdGljIl0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsImJpcnRoZGF0ZSIsImdlbmRlciIsInBob25lX251bWJlciIsImh0dHBzOi8vYXR0cmlidXRlcy5laWQuZ292Lml0L2Zpc2NhbF9udW1iZXIiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiLCJlbWFpbCIsImFkZHJlc3MiLCJkb2N1bWVudF9kZXRhaWxzIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLmVpZC5nb3YuaXQvcGh5c2ljYWxfcGhvbmVfbnVtYmVyIl0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJhdXRob3JpemF0aW9uX2NvZGUiLCJyZWZyZXNoX3Rva2VuIl0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOlsiUlMyNTYiLCJFUzI1NiJdLCJpc3N1ZXIiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsInVzZSI6InNpZyIsImUiOiJBUUFCIiwibiI6InJKb1NZdjFzdHdsYk0xMXRSOVNZR0lKdXpxbEplMmJ2Mk4zNW9QUmJ3Vl9lcGpOV3ZHRzJacUVqNTNZRk1DOEFNWk5GaHVMYV9MTndyMWtMVkUtalhRZTh4amlMaGU3RGdNZjFPblN6cTl5QUVYVm8xOUJQQndrZ0plMmpwOUhJZ01fbmZiSXNVYlNTa0ZBTTJDS3ZHYjBCazJHdnZxWFoxMlAtZnBiVnlBOWhJUXI2ck5UcW5DR3gyLXY0b1ZpR0c0dV8zaVR3N0QxWnZMV21ybVpPYUtuREFxRzNNSlNkUS0yZ2dRLUFpYWhnNDhzaTlDOURfSmduQlY5dEoyZUNTNThaQzZrVkc1c2Z0RWxRVmRINmUyNm16NDY0VFpqNVFnQ3daQ1RzQVFmSXZCb1hTZENLeHBudnNGZnJhano0cTlCaVhBcnl4SU9sNWZMbUNGVk5odyIsImtpZCI6IlBkMk45LVRael9BV1MzR0ZDa29ZZFJhWFhsczhZUGh4X2RfRXo3SndqUUkifV19LCJzY29wZXNfc3VwcG9ydGVkIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIl0sImxvZ29fdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL3N0YXRpYy9pbWFnZXMvbG9nby1jaWUucG5nIiwib3JnYW5pemF0aW9uX25hbWUiOiJTUElEIE9JREMgaWRlbnRpdHkgcHJvdmlkZXIiLCJvcF9wb2xpY3lfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvZW4vd2Vic2l0ZS9sZWdhbC1pbmZvcm1hdGlvbi8iLCJyZXF1ZXN0X3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVlc3RfdXJpX3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVpcmVfcmVxdWVzdF91cmlfcmVnaXN0cmF0aW9uIjp0cnVlLCJyZXNwb25zZV90eXBlc19zdXBwb3J0ZWQiOlsiY29kZSJdLCJyZXNwb25zZV9tb2Rlc19zdXBwb3J0ZWQiOlsicXVlcnkiLCJmb3JtX3Bvc3QiXSwic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOlsicGFpcndpc2UiLCJwdWJsaWMiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJ1c2VyaW5mb19zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfX0sImF1dGhvcml0eV9oaW50cyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIl19.BjVCQOMi5oNQzjjvOrQH4I-ERrWH6CM-4DndkYyj7sNCcxHUaMPWcT2FkvIperKnAiQqKdO4A_YqHBhXQZ0ss1cIMMfZrBOTPVckN_wKG3QVgRvjJPzQp871VSflDA-7ZLu6pC3vExBTej-65uEVx-mvVCdsHH9vnXtBP3rmCd5tz3YBM4ckiM6TNzP_hMH87P0snzx7ycRvp_hAJ0Rs0gzkaZ5sxbU_iDwb226e3QOOGdegu05J4msbdWKRy7XdqVlLcGBoAGW5_7ZZ8fbHbrLr-jQeluNENbo5zouTSdw2aVUhr7ay9a62bfg6ukpLCQgnLTzWm-qo_Otdf2Ev-g" + } + }, + { + "model": "spid_cie_oidc_entity.fetchedentitystatement", + "pk": 5, + "fields": { + "created": "2022-03-31T13:44:50.736Z", + "modified": "2022-03-31T13:44:50.736Z", + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8002/oidc/op", + "exp": "2022-04-25T15:48:05Z", + "iat": "2022-04-23T15:48:05Z", + "statement": { + "exp": 1650901685, + "iat": 1650728885, + "iss": "http://127.0.0.1:8000", + "sub": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "e": "AQAB", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ] + }, + "metadata_policy": { + "openid_provider": { + "subject_types_supported": { + "value": [ + "pairwise" + ] + }, + "id_token_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "userinfo_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + }, + "token_endpoint_auth_methods_supported": { + "value": [ + "private_key_jwt" + ] + }, + "userinfo_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "userinfo_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_encryption_alg_values_supported": { + "subset_of": [ + "RSA-OAEP", + "RSA-OAEP-256" + ] + }, + "request_object_encryption_enc_values_supported": { + "subset_of": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "request_object_signing_alg_values_supported": { + "subset_of": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + } + }, + "trust_marks": [ + { + "id": "https://www.spid.gov.it/openid-federation/agreement/op-public", + "trust_mark": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJ0cnVzdC1tYXJrK2p3dCJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwiaWF0IjoxNjUwNzI4ODg1LCJpZCI6Imh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L2NlcnRpZmljYXRpb24vb3AiLCJtYXJrIjoiaHR0cHM6Ly93d3cuYWdpZC5nb3YuaXQvdGhlbWVzL2N1c3RvbS9hZ2lkL2xvZ28uc3ZnIiwicmVmIjoiaHR0cHM6Ly9kb2NzLml0YWxpYS5pdC9pdGFsaWEvc3BpZC9zcGlkLXJlZ29sZS10ZWNuaWNoZS1vaWRjL2l0L3N0YWJpbGUvaW5kZXguaHRtbCJ9.HmEsS5RG1FExbcf1OUcXikKwUhmOJKWDC0wvbnviwR3I56xe-CP3f10Wc2emDiw481WVisZ3h6eqKj8SiA_EEONdhuuNEF32b3JTy-G-q9jEy96j8T-4czn1io8n9XYfiWQHct1DLjAA9CwC4aqt_DBA1qmnAHFNk5Q-kF6DJaJrD0Whkj0DTXn4T36_jbCVzFwZuSnBkdODTt0eZDA2MP57JxDFckUBDj-TzwfDC0kR6g0MyK-1tV4MBh0G_-mwRucyT6yOcIbFOqJNN73c9bgzXJWu_vkmzusOxEAtU4djsMrxMMzS0mIjAn3C3A8fHYdUrn3T5-nq6D443ue47w" + } + ] + }, + "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwibiI6InRnM2FFOWZkNmx0WHpOcmltXzRDR0tZV2ZDM25xY190djRYamF3NDczQ2NyZmlxRHplVEtIZlJmYnZicWIxRHdtSTRmdkNPaTUxRVZjbUtMblRoelh5bkFVcHlVdnN3dkw4X3V6Z0RXTzFSU21CRzFMMFJFLUNrS2loNGtlWGgxa3U5aE5zMV9WLTgyZEs1b0xPUi1WSkxuaFpDcVRoUjRISDZUcUxqaldyclhmc0hWUnZhdUppbFg2RnhHYjVKRm9jMjdWeHhkSDJjNlAyU0hDOXd1Qjh0bmZHN09TclNEMWcyaDdsVFhiSWZtNzhhMG9wNjdkX2p1cHprb0tvQ1RtemtSMnp2d1RWVkRkOTl2a0RMWTJXWG1iOGhJd0c2ZFFaWFlsa2hxQVlLelR1VFowdGpWaDBPcnFmRHhZdExIM3dRenphSk9SZXdaWXFMeUIwOVA4dyIsImUiOiJBUUFCIiwia2lkIjoiWmhTb2FPZWRWT3NCdzZtMnZjbHdTV2lxcW5HZU9TdFQtZ1VjbG90XzY3dyJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF5TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRGcxTENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5IbUVzUzVSRzFGRXhiY2YxT1VjWGlrS3dVaG1PSktXREMwd3ZibnZpd1IzSTU2eGUtQ1AzZjEwV2MyZW1EaXc0ODFXVmlzWjNoNmVxS2o4U2lBX0VFT05kaHV1TkVGMzJiM0pUeS1HLXE5akV5OTZqOFQtNGN6bjFpbzhuOVhZZmlXUUhjdDFETGpBQTlDd0M0YXF0X0RCQTFxbW5BSEZOazVRLWtGNkRKYUpyRDBXaGtqMERUWG40VDM2X2piQ1Z6RndadVNuQmtkT0RUdDBlWkRBMk1QNTdKeERGY2tVQkRqLVR6d2ZEQzBrUjZnME15Sy0xdFY0TUJoMEdfLW13UnVjeVQ2eU9jSWJGT3FKTk43M2M5Ymd6WEpXdV92a216dXNPeEVBdFU0ZGpzTXJ4TU16UzBtSWpBbjNDM0E4ZkhZZFVybjNUNS1ucTZENDQzdWU0N3cifV19.Q-ullzcsW1DutWnjcfT7zHsE9CdEoBCcXr32qetNWORDYXTO4ZIz4EvfB-_jNAogiTr9BAsAZNcXBA1Ab8vyj3yGhozOQxHWq7TIly20OLjJERE1UFL_5cK37KtCZWGjloqNbGrytwAxZCCh_YSe3kXAXqM8O2UjTl7zeis2As-iWE96C2jXodPYxcU6IheGMzLgEGsjKR9lcdz8DTLNGcdvqsDmQRbpA5HdrMwBR3huxGcWUrYCDbWj_ewtSB8sFp8UbY-s6edhFno4xpGLyg_eYqDKxV4vkywhfaQjx4Le8WyVwd3Y6W1KOd-EBy3DF6BypuD_b9f8RH41c3jbGw" + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 2, + "fields": { + "created": "2022-02-27T00:50:28.438Z", + "modified": "2022-03-31T13:43:21.284Z", + "sub": "http://127.0.0.1:8000/oidc/op", + "trust_anchor": 1, + "exp": "2022-04-23T16:21:05Z", + "iat": "2022-02-27T00:50:28.438Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6ImNJOHBCdldkSGdjdmxkbUk3SFhiUE1mRmhTS2tmQUNJYm9mc0Q2cTJKdEUiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxQVlHRjBDX2o1Q1BlWU1SSF9ta2huWXRudk1fQ21kbFdTRkhLOVlFYXMzZ0oxOTIyRG5oRngzRUl3MVUta1p3dzdiZ056NkMxbF8xY3lqa2dCU3VXeE9iT2JLNHpWTFpCR1VaZlhNQk5GbTJoZHI1Vm9MS0xlbXRaSHBCT21kc3hSMVIzVEozMEQwdlktTEpiVXRyd3VSQzhvT0NZSTV3aGNFYzhCNHV0RWV4M1c2ZENqQklqc0dmZEpJcVpIaGZMTjN4d1BNT2prRzVBX3k4V25UVmZHcTlPVWV1YVVuMy1QVnMzTzlMTXBPQmxhVDdHcmVYZ1VxV0FXLXp4VUNzaUhIVVZsOXVJQUdpNU9IdWtJdUJzMkNsQWxNWF9TNm1iTjdfN0tJR3gybVRJcmNnVkJQSmdZb3A5cW5TcWNYdWJfRVFUS3NGdE5HaWdzVUZuRHFGTlEiLCJraWQiOiJjSThwQnZXZEhnY3ZsZG1JN0hYYlBNZkZoU0trZkFDSWJvZnNENnEySnRFIn1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXNfc3VwcG9ydGVkIjpbImF1dG9tYXRpYyJdLCJjb2RlX2NoYWxsZW5nZV9tZXRob2RzX3N1cHBvcnRlZCI6WyJTMjU2Il0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9zcGlkQ29kZSIsImh0dHBzOi8vYXR0cmlidXRlcy5zcGlkLmdvdi5pdC9uYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2ZhbWlseU5hbWUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvcGxhY2VPZkJpcnRoIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvdW50eU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGF0ZU9mQmlydGgiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZ2VuZGVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2NvbXBhbnlOYW1lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L3JlZ2lzdGVyZWRPZmZpY2UiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZmlzY2FsTnVtYmVyIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2l2YUNvZGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvaWRDYXJkIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L21vYmlsZVBob25lIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2VtYWlsIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLnNwaWQuZ292Lml0L2FkZHJlc3MiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZXhwaXJhdGlvbkRhdGUiLCJodHRwczovL2F0dHJpYnV0ZXMuc3BpZC5nb3YuaXQvZGlnaXRhbEFkZHJlc3MiXSwiZ3JhbnRfdHlwZXNfc3VwcG9ydGVkIjpbImF1dGhvcml6YXRpb25fY29kZSIsInJlZnJlc2hfdG9rZW4iXSwiaWRfdG9rZW5fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIkVTMjU2Il0sImlzc3VlciI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwidXNlIjoic2lnIiwibiI6IjAxXzRhSTJMdTVnZ3NFbG1Sa0VfU19hODNWX3N6WFUwdHhWNGRiMmhtSjhIUjFZMnM3UHNaWjUtZW1HcG5UeWRHclIzbi1RRXhlRUVJY0Z0X2EwNlJ5aWluazM0UlFjS29HWFVEQk1CVTBCdThHN05jWjk5WVg2eWVHOXdGaTR4cy1XdmlUUG10UHFpamt6NmptMV9sdFdEY3dia3Rma3JhSVJLS2dnWmFFbDlsZHRzRnIyd1NwaW4zQVh1R0lkZUowaFpxaEY5Mk9EQkxHakpsYUlMOUtsd29wRHk1NmFkUmVWbnJhYXdTZHJ4bXVQR2o3OElFQUROQW1lMm5RTnZ2OVVDdTBGa0FuNVN0MWJLZHMzR3B2MjZXMGtqcjFnWkxzbVFyajlsVGNEa19LYkF3ZkVZX19QN3NlNjJrdXNvU3VLTVRRcVVHMVRRcFVZN29GR1NkdyIsImUiOiJBUUFCIiwia2lkIjoiZEI2N2dMN2NrM1RGaUlBZjdONl83U0h2cWswTURZTUVRY29HR2xrVUFBdyJ9XX0sInNjb3Blc19zdXBwb3J0ZWQiOlsib3BlbmlkIiwib2ZmbGluZV9hY2Nlc3MiXSwibG9nb191cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvc3RhdGljL3N2Zy9zcGlkLWxvZ28tYy1sYi5zdmciLCJvcmdhbml6YXRpb25fbmFtZSI6IlNQSUQgT0lEQyBpZGVudGl0eSBwcm92aWRlciIsIm9wX3BvbGljeV91cmkiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvb2lkYy9vcC9lbi93ZWJzaXRlL2xlZ2FsLWluZm9ybWF0aW9uLyIsInJlcXVlc3RfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWVzdF91cmlfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwicmVxdWlyZV9yZXF1ZXN0X3VyaV9yZWdpc3RyYXRpb24iOnRydWUsInJlc3BvbnNlX3R5cGVzX3N1cHBvcnRlZCI6WyJjb2RlIl0sInN1YmplY3RfdHlwZXNfc3VwcG9ydGVkIjpbInBhaXJ3aXNlIiwicHVibGljIl0sInRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kc19zdXBwb3J0ZWQiOlsicHJpdmF0ZV9rZXlfand0Il0sInRva2VuX2VuZHBvaW50X2F1dGhfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwidXNlcmluZm9fZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCIsIlJTQS1PQUVQLTI1NiIsIkVDREgtRVMiLCJFQ0RILUVTK0ExMjhLVyIsIkVDREgtRVMrQTE5MktXIiwiRUNESC1FUytBMjU2S1ciXSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXSwicmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19LCJhdXRob3JpdHlfaGludHMiOlsiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyJdfQ.QWs6tJThBVe-sJdr_3Wtzd6eCkqWMjOW51fAd4CBVS_qYc8xN2R4BBPFq_TIIGAwU1irpBeaYjTa-g5dMUmZdULytySevN6Uta21ckR2YwXzgXGnXRDatJLirwI0Ifdh2U4tiycYEePlon_DnULJcTmmpI9ixZOz5mS4M6wgAxBOiZZT2HNBeoRzGT1o2WEqkkbzO7X8OKmUzS17qwfp6M4IRVtfhA2wlbIE4Kl14pD7GJu_PzdyTKvAmCZEmEVXw5T2qqXciJFdFpZ4D1iHSGy760pFQcURSm5uChaPMEtoh01rvf16DWxBmhzeyPeP7y6hnl6PbBZ55EwiBHO_Yw", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4NjUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.muSpd3kES6MPnuP6AJHvQLPn_mgDWNsUwetOEG7sliZvHGAERO7nMlG8lEop-mJZioZ3yNP553Jk72ZPyqxehF_KXNyRCrlHzuMKMqHKl32YNjBFuhP2i-o8Mql_1fb47Br5oPo6ZtBVFDtKek0JLoLWTyzYlefu1FIBOWNrqTTCzfr1U4XcwZvGPszHK0L1IkW2ypLwfYSXtBdhr77p_M3HWwYRSLLGJfUS2m_n3mQyDb0G2OgIeZ5yK5CtK16cZfXVD-hBLsoCC7xPsHiIfKTxZdgalXRHpqM5tWj9trK2NsSgxKfFgKlIjOdWg6kUyup2wgpVI6shyJf220KrTQ", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwiZSI6IkFRQUIiLCJuIjoiMUFZR0YwQ19qNUNQZVlNUkhfbWtobll0bnZNX0NtZGxXU0ZISzlZRWFzM2dKMTkyMkRuaEZ4M0VJdzFVLWtad3c3YmdOejZDMWxfMWN5amtnQlN1V3hPYk9iSzR6VkxaQkdVWmZYTUJORm0yaGRyNVZvTEtMZW10WkhwQk9tZHN4UjFSM1RKMzBEMHZZLUxKYlV0cnd1UkM4b09DWUk1d2hjRWM4QjR1dEVleDNXNmRDakJJanNHZmRKSXFaSGhmTE4zeHdQTU9qa0c1QV95OFduVFZmR3E5T1VldWFVbjMtUFZzM085TE1wT0JsYVQ3R3JlWGdVcVdBVy16eFVDc2lISFVWbDl1SUFHaTVPSHVrSXVCczJDbEFsTVhfUzZtYk43XzdLSUd4Mm1USXJjZ1ZCUEpnWW9wOXFuU3FjWHViX0VRVEtzRnROR2lnc1VGbkRxRk5RIiwia2lkIjoiY0k4cEJ2V2RIZ2N2bGRtSTdIWGJQTWZGaFNLa2ZBQ0lib2ZzRDZxMkp0RSJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF3TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRGcxTENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5FNG1OeUJ6X3JsSWtzOFVUNU5EMUF0REN0YkJuY09VZG0wNUU2UnVYaWxNVGpudXF6M1NJa0FQcUtOUDNaTldkSHAxN1pxYXB6bmRQanFja0RBQjJoNldzOFdVSS1yaWk3YUcwNk82ZmgyY2NyQmRNYzBMbzlONVpOeEI5TUJjeDVxOHZQWHl6bloxbEp6OFhmZ1JBUDFRRllRNnhJZTJ3ZzhnNWxRUXREU3lDR25QYmdieEQ1RnlCcmk4b1dxVjNUNjFXS0duZzlydm5LZVdhVjdJM1Nab2thSEdTdjhKOGpZUUJSaVkxXzZwSmw0cU9CXzNtRHNKWVZXZ2Y5QlpuXzRFTlZMQWxyVGNyUF9fNXdsMTBWMnhMM21uai1TcEFvT3NEc2tNTVpobXlqX0JYRUZTX1RBaGI0UUZDYlNIMHFZdmhHclp1X2M3OWhQREIzV0ZMcVEifV19.Y7wBEFfTvwTpc9uVGUpJd3GsHLLupGJbe5qRTycjciI46Ev54840P4-9S5Q7yqpyMUKoVK_n27qU6GHzCdTcZRGY6_w3nXIy_m7g7pIHSGfTCQC1JZQ4sQcc7oNZL-8LEAidyUVbgvT02W334sWCpvWrwUqy8CozroJ4j46aWGgmLaw68kaXgUMLJ_LwIkLbAEPZcgiMohslyB4rB1W2CrJUa9guyOXq8U_Z3FxQ8hUyvDdgTrY3ED4A3lCEzVXm0vpiYrpO8xr_-p1okVilQvayylbp0z9XG8m2uRJqQ2CZCkwcDvyGWtLSR_VnRbGAvUkLBD88cGMh_Wkm0V0dJA" + ] + ], + "jwks": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "1AYGF0C_j5CPeYMRH_mkhnYtnvM_CmdlWSFHK9YEas3gJ1922DnhFx3EIw1U-kZww7bgNz6C1l_1cyjkgBSuWxObObK4zVLZBGUZfXMBNFm2hdr5VoLKLemtZHpBOmdsxR1R3TJ30D0vY-LJbUtrwuRC8oOCYI5whcEc8B4utEex3W6dCjBIjsGfdJIqZHhfLN3xwPMOjkG5A_y8WnTVfGq9OUeuaUn3-PVs3O9LMpOBlaT7GreXgUqWAW-zxUCsiHHUVl9uIAGi5OHukIuBs2ClAlMX_S6mbN7_7KIGx2mTIrcgVBPJgYop9qnSqcXub_EQTKsFtNGigsUFnDqFNQ", + "d": "b44j0kQ9Bhp3guWVMw-0oxK2-jTd7Gluh7Dcs5HNjSx5Tf4Kl8YMSo9czVyMY4qAdllYK3j2ejjO-iJ_52v6OO1d9MO2PEHk8U0IVlsWPScew9rs6bmzCukyU_WHMGWOcz_z_MA7DhPDRXjjpl_SeR6EovjStl77kUSEJ0qaJDvGelNimnMRBBsDgtDUMbOIzng82GclTsRkv8b041G0Q32XJ8YcJxGOlvWdr-q36fXJua0joshH0e2LilTtftjHCbgPdg1a6MGChCrgeTFTi6ihifMwcxINF-hSFcxA2WLaECCvMsjB40bd51wPfF0AiK5JvHLyJsAV6OzD9pf32Q", + "p": "_92f7QZr4IKRgeTpr49RG5V53A4PE0QW-4IBETZaaI6ymvvqTL1ik28qNVStR5xT6n3r7-_y3IHQQOPO0r8lbGvqYonVIuCUZaz66_QuZg4Gnm61Uyec8ecXQV3rsvMMwpHU_3RRB5RXGeDwWq9CAFpYERQGxf6naEeuurP1usM", + "q": "1CKCSTiSABX1OtfkiKcJV0PvhACTuoHSGW62TpqtdOxHsopb2kph2XM82Kt10jJDESosQcPTXc7ttTrYsfTSKva3kvRXrwcWzC4yMoacxaqyHKbatBValkMSMaVeRabtzECulHyxbK6bsLKRUAD0thQuUs_WSITWSPPty2ygkKc", + "kid": "cI8pBvWdHgcvldmI7HXbPMfFhSKkfACIbofsD6q2JtE" + } + ], + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8000/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8000", + "policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8000/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8000/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8000/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8000/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8000/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "client_registration_types_supported": [ + "automatic" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "https://attributes.eid.gov.it/spid_code", + "given_name", + "family_name", + "place_of_birth", + "birthdate", + "gender", + "https://attributes.eid.gov.it/company_name", + "https://attributes.eid.gov.it/registered_office", + "https://attributes.eid.gov.it/fiscal_number", + "https://attributes.eid.gov.it/company_fiscal_number", + "https://attributes.eid.gov.it/vat_number", + "document_details", + "phone_number", + "email", + "https://attributes.eid.gov.it/e_delivery_service", + "https://attributes.eid.gov.it/eid_exp_date", + "address" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8000/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "01_4aI2Lu5ggsElmRkE_S_a83V_szXU0txV4db2hmJ8HR1Y2s7PsZZ5-emGpnTydGrR3n-QExeEEIcFt_a06Ryiink34RQcKoGXUDBMBU0Bu8G7NcZ99YX6yeG9wFi4xs-WviTPmtPqijkz6jm1_ltWDcwbktfkraIRKKggZaEl9ldtsFr2wSpin3AXuGIdeJ0hZqhF92ODBLGjJlaIL9KlwopDy56adReVnraawSdrxmuPGj78IEADNAme2nQNvv9UCu0FkAn5St1bKds3Gpv26W0kjr1gZLsmQrj9lTcDk_KbAwfEY__P7se62kusoSuKMTQqUG1TQpUY7oFGSdw", + "e": "AQAB", + "kid": "dB67gL7ck3TFiIAf7N6_7SHvqk0MDYMEQcoGGlkUAAw" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8000/static/svg/spid-logo-c-lb.svg", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8000/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8000/oidc/op", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:48:05.689Z", + "is_active": true + } + }, + { + "model": "spid_cie_oidc_entity.trustchain", + "pk": 3, + "fields": { + "created": "2022-03-31T13:43:50.069Z", + "modified": "2022-03-31T13:43:50.069Z", + "sub": "http://127.0.0.1:8002/oidc/op", + "trust_anchor": 1, + "exp": "2022-04-23T16:21:05Z", + "iat": "2022-03-31T13:43:50.069Z", + "chain": [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IlpoU29hT2VkVk9zQnc2bTJ2Y2x3U1dpcXFuR2VPU3RULWdVY2xvdF82N3ciLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwic3ViIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0ZzNhRTlmZDZsdFh6TnJpbV80Q0dLWVdmQzNucWNfdHY0WGphdzQ3M0NjcmZpcUR6ZVRLSGZSZmJ2YnFiMUR3bUk0ZnZDT2k1MUVWY21LTG5UaHpYeW5BVXB5VXZzd3ZMOF91emdEV08xUlNtQkcxTDBSRS1Da0tpaDRrZVhoMWt1OWhOczFfVi04MmRLNW9MT1ItVkpMbmhaQ3FUaFI0SEg2VHFMampXcnJYZnNIVlJ2YXVKaWxYNkZ4R2I1SkZvYzI3Vnh4ZEgyYzZQMlNIQzl3dUI4dG5mRzdPU3JTRDFnMmg3bFRYYklmbTc4YTBvcDY3ZF9qdXB6a29Lb0NUbXprUjJ6dndUVlZEZDk5dmtETFkyV1htYjhoSXdHNmRRWlhZbGtocUFZS3pUdVRaMHRqVmgwT3JxZkR4WXRMSDN3UXp6YUpPUmV3WllxTHlCMDlQOHciLCJraWQiOiJaaFNvYU9lZFZPc0J3Nm0ydmNsd1NXaXFxbkdlT1N0VC1nVWNsb3RfNjd3In1dfSwibWV0YWRhdGEiOnsib3BlbmlkX3Byb3ZpZGVyIjp7ImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC9hdXRob3JpemF0aW9uIiwicmV2b2NhdGlvbl9lbmRwb2ludCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wL3Jldm9jYXRpb24vIiwiaWRfdG9rZW5fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJSU0EtT0FFUCJdLCJpZF90b2tlbl9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiXSwib3BfbmFtZSI6IkFnZW56aWEgcGVyIGxcdTIwMTlJdGFsaWEgRGlnaXRhbGUiLCJvcF91cmkiOiJodHRwczovL3d3dy5hZ2lkLmdvdi5pdCIsInRva2VuX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvdG9rZW4vIiwidXNlcmluZm9fZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC91c2VyaW5mby8iLCJpbnRyb3NwZWN0aW9uX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvaW50cm9zcGVjdGlvbi8iLCJjbGFpbXNfcGFyYW1ldGVyX3N1cHBvcnRlZCI6dHJ1ZSwiY29udGFjdHMiOlsib3BzQGh0dHBzOi8vaWRwLml0Il0sImNvZGVfY2hhbGxlbmdlX21ldGhvZHNfc3VwcG9ydGVkIjpbIlMyNTYiXSwiY2xpZW50X3JlZ2lzdHJhdGlvbl90eXBlc19zdXBwb3J0ZWQiOlsiYXV0b21hdGljIl0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsiYXIiOlsicmVxdWVzdF9vYmplY3QiXX0sImFjcl92YWx1ZXNfc3VwcG9ydGVkIjpbImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMSIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMiIsImh0dHBzOi8vd3d3LnNwaWQuZ292Lml0L1NwaWRMMyJdLCJjbGFpbXNfc3VwcG9ydGVkIjpbImdpdmVuX25hbWUiLCJmYW1pbHlfbmFtZSIsImJpcnRoZGF0ZSIsImdlbmRlciIsInBob25lX251bWJlciIsImh0dHBzOi8vYXR0cmlidXRlcy5laWQuZ292Lml0L2Zpc2NhbF9udW1iZXIiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiLCJlbWFpbCIsImFkZHJlc3MiLCJkb2N1bWVudF9kZXRhaWxzIiwiaHR0cHM6Ly9hdHRyaWJ1dGVzLmVpZC5nb3YuaXQvcGh5c2ljYWxfcGhvbmVfbnVtYmVyIl0sImdyYW50X3R5cGVzX3N1cHBvcnRlZCI6WyJhdXRob3JpemF0aW9uX2NvZGUiLCJyZWZyZXNoX3Rva2VuIl0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOlsiUlMyNTYiLCJFUzI1NiJdLCJpc3N1ZXIiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDIvb2lkYy9vcC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsInVzZSI6InNpZyIsImUiOiJBUUFCIiwibiI6InJKb1NZdjFzdHdsYk0xMXRSOVNZR0lKdXpxbEplMmJ2Mk4zNW9QUmJ3Vl9lcGpOV3ZHRzJacUVqNTNZRk1DOEFNWk5GaHVMYV9MTndyMWtMVkUtalhRZTh4amlMaGU3RGdNZjFPblN6cTl5QUVYVm8xOUJQQndrZ0plMmpwOUhJZ01fbmZiSXNVYlNTa0ZBTTJDS3ZHYjBCazJHdnZxWFoxMlAtZnBiVnlBOWhJUXI2ck5UcW5DR3gyLXY0b1ZpR0c0dV8zaVR3N0QxWnZMV21ybVpPYUtuREFxRzNNSlNkUS0yZ2dRLUFpYWhnNDhzaTlDOURfSmduQlY5dEoyZUNTNThaQzZrVkc1c2Z0RWxRVmRINmUyNm16NDY0VFpqNVFnQ3daQ1RzQVFmSXZCb1hTZENLeHBudnNGZnJhano0cTlCaVhBcnl4SU9sNWZMbUNGVk5odyIsImtpZCI6IlBkMk45LVRael9BV1MzR0ZDa29ZZFJhWFhsczhZUGh4X2RfRXo3SndqUUkifV19LCJzY29wZXNfc3VwcG9ydGVkIjpbIm9wZW5pZCIsIm9mZmxpbmVfYWNjZXNzIl0sImxvZ29fdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL3N0YXRpYy9pbWFnZXMvbG9nby1jaWUucG5nIiwib3JnYW5pemF0aW9uX25hbWUiOiJTUElEIE9JREMgaWRlbnRpdHkgcHJvdmlkZXIiLCJvcF9wb2xpY3lfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAyL29pZGMvb3AvZW4vd2Vic2l0ZS9sZWdhbC1pbmZvcm1hdGlvbi8iLCJyZXF1ZXN0X3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVlc3RfdXJpX3BhcmFtZXRlcl9zdXBwb3J0ZWQiOnRydWUsInJlcXVpcmVfcmVxdWVzdF91cmlfcmVnaXN0cmF0aW9uIjp0cnVlLCJyZXNwb25zZV90eXBlc19zdXBwb3J0ZWQiOlsiY29kZSJdLCJyZXNwb25zZV9tb2Rlc19zdXBwb3J0ZWQiOlsicXVlcnkiLCJmb3JtX3Bvc3QiXSwic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOlsicGFpcndpc2UiLCJwdWJsaWMiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJwcml2YXRlX2tleV9qd3QiXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJ1c2VyaW5mb19zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdLCJyZXF1ZXN0X29iamVjdF9lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjpbIkExMjhDQkMtSFMyNTYiLCJBMTkyQ0JDLUhTMzg0IiwiQTI1NkNCQy1IUzUxMiIsIkExMjhHQ00iLCJBMTkyR0NNIiwiQTI1NkdDTSJdLCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfX0sImF1dGhvcml0eV9oaW50cyI6WyJodHRwOi8vMTI3LjAuMC4xOjgwMDAvIl19.BjVCQOMi5oNQzjjvOrQH4I-ERrWH6CM-4DndkYyj7sNCcxHUaMPWcT2FkvIperKnAiQqKdO4A_YqHBhXQZ0ss1cIMMfZrBOTPVckN_wKG3QVgRvjJPzQp871VSflDA-7ZLu6pC3vExBTej-65uEVx-mvVCdsHH9vnXtBP3rmCd5tz3YBM4ckiM6TNzP_hMH87P0snzx7ycRvp_hAJ0Rs0gzkaZ5sxbU_iDwb226e3QOOGdegu05J4msbdWKRy7XdqVlLcGBoAGW5_7ZZ8fbHbrLr-jQeluNENbo5zouTSdw2aVUhr7ay9a62bfg6ukpLCQgnLTzWm-qo_Otdf2Ev-g", + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA3MzA4NjUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC8iLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwibiI6Im84SW9sUmpabGt6Y3QtNDhyaHJWbFRuWVUxcGtNYlZKRC1EVTA1b01TOVJWR3JzRnlwZzk4bS1LdzRINHFOUHlRVngyT1FPUmkteFNoZ2s3SFUtZ0tfMnBWZ3VZa3YwNkZhakxfZWRFQXFxc3F0Xzc0UWYyV0xSQzVwZkpHX3o5T1B6WThKR3lrLXozU2JlSE5fQlhLSThHWTVFNFdVMlNzdG1ROWZ5TDRDeHRSZmpVaWE4bGltVENfM01PcFQzemk1bnIwM2pmYmpwbmpnYTUxcVh1cnhubHpjM2FfeGprNVJBQXBLeFV2TndoSjI3NU0wQ21COTlEalB3RjZCTHZVZ0pxZ3lDcFVPbjM2TE9oSTRGcXVWcWhxaGl3S2xNbWlNZTN5eTB5TlE3RlhCV3hqemhleGJweWMzVnU3ekZJSFBBY0M0VXlJUWhjM3dhRWoydmlYdyIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EifV19LCJtZXRhZGF0YSI6eyJmZWRlcmF0aW9uX2VudGl0eSI6eyJjb250YWN0cyI6WyJvcHNAbG9jYWxob3N0Il0sImZlZGVyYXRpb25fZmV0Y2hfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZmV0Y2gvIiwiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc29sdmUvIiwiZmVkZXJhdGlvbl9zdGF0dXNfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvdHJ1c3RfbWFya19zdGF0dXMvIiwiaG9tZXBhZ2VfdXJpIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwibmFtZSI6ImV4YW1wbGUgVEEiLCJmZWRlcmF0aW9uX2xpc3RfZW5kcG9pbnQiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvbGlzdC8ifX0sInRydXN0X21hcmtzX2lzc3VlcnMiOnsiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wdWJsaWMiOlsiaHR0cHM6Ly9yZWdpc3RyeS5zcGlkLmFnaWQuZ292Lml0IiwiaHR0cHM6Ly9wdWJsaWMuaW50ZXJtZWRpYXJ5LnNwaWQuaXQiXSwiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvY2VydGlmaWNhdGlvbi9ycC9wcml2YXRlIjpbImh0dHBzOi8vcmVnaXN0cnkuc3BpZC5hZ2lkLmdvdi5pdCIsImh0dHBzOi8vcHJpdmF0ZS5vdGhlci5pbnRlcm1lZGlhcnkuaXQiXSwiaHR0cHM6Ly9zZ2QuYWEuaXQvb25ib2FyZGluZyI6WyJodHRwczovL3NnZC5hYS5pdCJdfSwiY29uc3RyYWludHMiOnsibWF4X3BhdGhfbGVuZ3RoIjoxfX0.muSpd3kES6MPnuP6AJHvQLPn_mgDWNsUwetOEG7sliZvHGAERO7nMlG8lEop-mJZioZ3yNP553Jk72ZPyqxehF_KXNyRCrlHzuMKMqHKl32YNjBFuhP2i-o8Mql_1fb47Br5oPo6ZtBVFDtKek0JLoLWTyzYlefu1FIBOWNrqTTCzfr1U4XcwZvGPszHK0L1IkW2ypLwfYSXtBdhr77p_M3HWwYRSLLGJfUS2m_n3mQyDb0G2OgIeZ5yK5CtK16cZfXVD-hBLsoCC7xPsHiIfKTxZdgalXRHpqM5tWj9trK2NsSgxKfFgKlIjOdWg6kUyup2wgpVI6shyJf220KrTQ", + [ + "eyJhbGciOiJSUzI1NiIsImtpZCI6IkJYdmZybG5oQU11SFIwN2FqVW1BY0JSUWNTem13MGNfUkFnSm5wUy05V1EiLCJ0eXAiOiJlbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE2NTA5MDE2ODUsImlhdCI6MTY1MDcyODg4NSwiaXNzIjoiaHR0cDovLzEyNy4wLjAuMTo4MDAwLyIsInN1YiI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMi9vaWRjL29wLyIsImp3a3MiOnsia2V5cyI6W3sia3R5IjoiUlNBIiwibiI6InRnM2FFOWZkNmx0WHpOcmltXzRDR0tZV2ZDM25xY190djRYamF3NDczQ2NyZmlxRHplVEtIZlJmYnZicWIxRHdtSTRmdkNPaTUxRVZjbUtMblRoelh5bkFVcHlVdnN3dkw4X3V6Z0RXTzFSU21CRzFMMFJFLUNrS2loNGtlWGgxa3U5aE5zMV9WLTgyZEs1b0xPUi1WSkxuaFpDcVRoUjRISDZUcUxqaldyclhmc0hWUnZhdUppbFg2RnhHYjVKRm9jMjdWeHhkSDJjNlAyU0hDOXd1Qjh0bmZHN09TclNEMWcyaDdsVFhiSWZtNzhhMG9wNjdkX2p1cHprb0tvQ1RtemtSMnp2d1RWVkRkOTl2a0RMWTJXWG1iOGhJd0c2ZFFaWFlsa2hxQVlLelR1VFowdGpWaDBPcnFmRHhZdExIM3dRenphSk9SZXdaWXFMeUIwOVA4dyIsImUiOiJBUUFCIiwia2lkIjoiWmhTb2FPZWRWT3NCdzZtMnZjbHdTV2lxcW5HZU9TdFQtZ1VjbG90XzY3dyJ9XX0sIm1ldGFkYXRhX3BvbGljeSI6eyJvcGVuaWRfcHJvdmlkZXIiOnsic3ViamVjdF90eXBlc19zdXBwb3J0ZWQiOnsidmFsdWUiOlsicGFpcndpc2UiXX0sImlkX3Rva2VuX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlMzODQiLCJSUzUxMiIsIkVTMjU2IiwiRVMzODQiLCJFUzUxMiJdfSwidXNlcmluZm9fc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlMyNTYiLCJSUzM4NCIsIlJTNTEyIiwiRVMyNTYiLCJFUzM4NCIsIkVTNTEyIl19LCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZHNfc3VwcG9ydGVkIjp7InZhbHVlIjpbInByaXZhdGVfa2V5X2p3dCJdfSwidXNlcmluZm9fZW5jcnlwdGlvbl9hbGdfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiUlNBLU9BRVAiLCJSU0EtT0FFUC0yNTYiLCJFQ0RILUVTIiwiRUNESC1FUytBMTI4S1ciLCJFQ0RILUVTK0ExOTJLVyIsIkVDREgtRVMrQTI1NktXIl19LCJ1c2VyaW5mb19lbmNyeXB0aW9uX2VuY192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJBMTI4Q0JDLUhTMjU2IiwiQTE5MkNCQy1IUzM4NCIsIkEyNTZDQkMtSFM1MTIiLCJBMTI4R0NNIiwiQTE5MkdDTSIsIkEyNTZHQ00iXX0sInJlcXVlc3Rfb2JqZWN0X2VuY3J5cHRpb25fYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTQS1PQUVQIiwiUlNBLU9BRVAtMjU2IiwiRUNESC1FUyIsIkVDREgtRVMrQTEyOEtXIiwiRUNESC1FUytBMTkyS1ciLCJFQ0RILUVTK0EyNTZLVyJdfSwicmVxdWVzdF9vYmplY3RfZW5jcnlwdGlvbl9lbmNfdmFsdWVzX3N1cHBvcnRlZCI6eyJzdWJzZXRfb2YiOlsiQTEyOENCQy1IUzI1NiIsIkExOTJDQkMtSFMzODQiLCJBMjU2Q0JDLUhTNTEyIiwiQTEyOEdDTSIsIkExOTJHQ00iLCJBMjU2R0NNIl19LCJyZXF1ZXN0X29iamVjdF9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjp7InN1YnNldF9vZiI6WyJSUzI1NiIsIlJTMzg0IiwiUlM1MTIiLCJFUzI1NiIsIkVTMzg0IiwiRVM1MTIiXX19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly93d3cuc3BpZC5nb3YuaXQvb3BlbmlkLWZlZGVyYXRpb24vYWdyZWVtZW50L29wLXB1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUJZMEpTVVdOVGVtMTNNR05mVWtGblNtNXdVeTA1VjFFaUxDSjBlWEFpT2lKMGNuVnpkQzF0WVhKcksycDNkQ0o5LmV5SnBjM01pT2lKb2RIUndPaTh2TVRJM0xqQXVNQzR4T2pnd01EQXZJaXdpYzNWaUlqb2lhSFIwY0Rvdkx6RXlOeTR3TGpBdU1UbzRNREF5TDI5cFpHTXZiM0F2SWl3aWFXRjBJam94TmpVd056STRPRGcxTENKcFpDSTZJbWgwZEhCek9pOHZkM2QzTG5Od2FXUXVaMjkyTG1sMEwyTmxjblJwWm1sallYUnBiMjR2YjNBaUxDSnRZWEpySWpvaWFIUjBjSE02THk5M2QzY3VZV2RwWkM1bmIzWXVhWFF2ZEdobGJXVnpMMk4xYzNSdmJTOWhaMmxrTDJ4dloyOHVjM1puSWl3aWNtVm1Jam9pYUhSMGNITTZMeTlrYjJOekxtbDBZV3hwWVM1cGRDOXBkR0ZzYVdFdmMzQnBaQzl6Y0dsa0xYSmxaMjlzWlMxMFpXTnVhV05vWlMxdmFXUmpMMmwwTDNOMFlXSnBiR1V2YVc1a1pYZ3VhSFJ0YkNKOS5IbUVzUzVSRzFGRXhiY2YxT1VjWGlrS3dVaG1PSktXREMwd3ZibnZpd1IzSTU2eGUtQ1AzZjEwV2MyZW1EaXc0ODFXVmlzWjNoNmVxS2o4U2lBX0VFT05kaHV1TkVGMzJiM0pUeS1HLXE5akV5OTZqOFQtNGN6bjFpbzhuOVhZZmlXUUhjdDFETGpBQTlDd0M0YXF0X0RCQTFxbW5BSEZOazVRLWtGNkRKYUpyRDBXaGtqMERUWG40VDM2X2piQ1Z6RndadVNuQmtkT0RUdDBlWkRBMk1QNTdKeERGY2tVQkRqLVR6d2ZEQzBrUjZnME15Sy0xdFY0TUJoMEdfLW13UnVjeVQ2eU9jSWJGT3FKTk43M2M5Ymd6WEpXdV92a216dXNPeEVBdFU0ZGpzTXJ4TU16UzBtSWpBbjNDM0E4ZkhZZFVybjNUNS1ucTZENDQzdWU0N3cifV19.Q-ullzcsW1DutWnjcfT7zHsE9CdEoBCcXr32qetNWORDYXTO4ZIz4EvfB-_jNAogiTr9BAsAZNcXBA1Ab8vyj3yGhozOQxHWq7TIly20OLjJERE1UFL_5cK37KtCZWGjloqNbGrytwAxZCCh_YSe3kXAXqM8O2UjTl7zeis2As-iWE96C2jXodPYxcU6IheGMzLgEGsjKR9lcdz8DTLNGcdvqsDmQRbpA5HdrMwBR3huxGcWUrYCDbWj_ewtSB8sFp8UbY-s6edhFno4xpGLyg_eYqDKxV4vkywhfaQjx4Le8WyVwd3Y6W1KOd-EBy3DF6BypuD_b9f8RH41c3jbGw" + ] + ], + "jwks": { + "keys": [ + { + "kty": "RSA", + "e": "AQAB", + "n": "tg3aE9fd6ltXzNrim_4CGKYWfC3nqc_tv4Xjaw473CcrfiqDzeTKHfRfbvbqb1DwmI4fvCOi51EVcmKLnThzXynAUpyUvswvL8_uzgDWO1RSmBG1L0RE-CkKih4keXh1ku9hNs1_V-82dK5oLOR-VJLnhZCqThR4HH6TqLjjWrrXfsHVRvauJilX6FxGb5JFoc27VxxdH2c6P2SHC9wuB8tnfG7OSrSD1g2h7lTXbIfm78a0op67d_jupzkoKoCTmzkR2zvwTVVDd99vkDLY2WXmb8hIwG6dQZXYlkhqAYKzTuTZ0tjVh0OrqfDxYtLH3wQzzaJORewZYqLyB09P8w", + "kid": "ZhSoaOedVOsBw6m2vclwSWiqqnGeOStT-gUclot_67w" + } + ] + }, + "metadata": { + "federation_entity": { + "federation_resolve_endpoint": "http://127.0.0.1:8002/oidc/op/resolve", + "organization_name": "SPID OIDC identity provider", + "homepage_uri": "http://127.0.0.1:8002", + "policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "logo_uri": "http://127.0.0.1:8002/static/svg/logo-cie.svg", + "contacts": [ + "tech@example.it" + ] + }, + "openid_provider": { + "authorization_endpoint": "http://127.0.0.1:8002/oidc/op/authorization", + "revocation_endpoint": "http://127.0.0.1:8002/oidc/op/revocation", + "id_token_encryption_alg_values_supported": [ + "RSA-OAEP" + ], + "id_token_encryption_enc_values_supported": [ + "A128CBC-HS256" + ], + "token_endpoint": "http://127.0.0.1:8002/oidc/op/token", + "userinfo_endpoint": "http://127.0.0.1:8002/oidc/op/userinfo", + "introspection_endpoint": "http://127.0.0.1:8002/oidc/op/introspection", + "claims_parameter_supported": true, + "contacts": [ + "ops@https://idp.it" + ], + "code_challenge_methods_supported": [ + "S256" + ], + "client_registration_types_supported": [ + "automatic" + ], + "request_authentication_methods_supported": { + "ar": [ + "request_object" + ] + }, + "acr_values_supported": [ + "https://www.spid.gov.it/SpidL1", + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "claims_supported": [ + "given_name", + "family_name", + "birthdate", + "gender", + "phone_number", + "https://attributes.eid.gov.it/fiscal_number", + "phone_number_verified", + "email", + "address", + "document_details", + "https://attributes.eid.gov.it/physical_phone_number" + ], + "grant_types_supported": [ + "authorization_code", + "refresh_token" + ], + "id_token_signing_alg_values_supported": [ + "RS256", + "ES256" + ], + "issuer": "http://127.0.0.1:8002/oidc/op", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "e": "AQAB", + "n": "rJoSYv1stwlbM11tR9SYGIJuzqlJe2bv2N35oPRbwV_epjNWvGG2ZqEj53YFMC8AMZNFhuLa_LNwr1kLVE-jXQe8xjiLhe7DgMf1OnSzq9yAEXVo19BPBwkgJe2jp9HIgM_nfbIsUbSSkFAM2CKvGb0Bk2GvvqXZ12P-fpbVyA9hIQr6rNTqnCGx2-v4oViGG4u_3iTw7D1ZvLWmrmZOaKnDAqG3MJSdQ-2ggQ-Aiahg48si9C9D_JgnBV9tJ2eCS58ZC6kVG5sftElQVdH6e26mz464TZj5QgCwZCTsAQfIvBoXSdCKxpnvsFfrajz4q9BiXAryxIOl5fLmCFVNhw", + "kid": "Pd2N9-TZz_AWS3GFCkoYdRaXXls8YPhx_d_Ez7JwjQI" + } + ] + }, + "scopes_supported": [ + "openid", + "offline_access" + ], + "logo_uri": "http://127.0.0.1:8002/static/images/logo-cie.png", + "organization_name": "SPID OIDC identity provider", + "op_policy_uri": "http://127.0.0.1:8002/oidc/op/en/website/legal-information", + "request_parameter_supported": true, + "request_uri_parameter_supported": true, + "require_request_uri_registration": true, + "response_types_supported": [ + "code" + ], + "response_modes_supported": [ + "query", + "form_post" + ], + "subject_types_supported": [ + "pairwise", + "public" + ], + "token_endpoint_auth_methods_supported": [ + "private_key_jwt" + ], + "token_endpoint_auth_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "userinfo_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "userinfo_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "userinfo_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ], + "request_object_encryption_alg_values_supported": [ + "RSA-OAEP", + "RSA-OAEP-256", + "ECDH-ES", + "ECDH-ES+A128KW", + "ECDH-ES+A192KW", + "ECDH-ES+A256KW" + ], + "request_object_encryption_enc_values_supported": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "request_object_signing_alg_values_supported": [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512" + ] + } + }, + "trust_marks": [], + "parties_involved": [ + "http://127.0.0.1:8002/oidc/op", + "http://127.0.0.1:8000" + ], + "status": "valid", + "log": "", + "processing_start": "2022-04-23T15:48:05.806Z", + "is_active": true + } + } +] diff --git a/relying_party/manage.py b/relying_party/manage.py new file mode 100755 index 0000000..2a008f4 --- /dev/null +++ b/relying_party/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'relying_party.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/relying_party/relying_party/__init__.py b/relying_party/relying_party/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/relying_party/relying_party/__pycache__/settingslocal.cpython-310.pyc b/relying_party/relying_party/__pycache__/settingslocal.cpython-310.pyc new file mode 100644 index 0000000..28d2c5d Binary files /dev/null and b/relying_party/relying_party/__pycache__/settingslocal.cpython-310.pyc differ diff --git a/relying_party/relying_party/__pycache__/visione_views.cpython-310.pyc b/relying_party/relying_party/__pycache__/visione_views.cpython-310.pyc new file mode 100644 index 0000000..a706e09 Binary files /dev/null and b/relying_party/relying_party/__pycache__/visione_views.cpython-310.pyc differ diff --git a/relying_party/relying_party/asgi.py b/relying_party/relying_party/asgi.py new file mode 100644 index 0000000..ee84eca --- /dev/null +++ b/relying_party/relying_party/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for relying_party project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'relying_party.settings') + +application = get_asgi_application() diff --git a/relying_party/relying_party/settings.py b/relying_party/relying_party/settings.py new file mode 100644 index 0000000..7a92aa6 --- /dev/null +++ b/relying_party/relying_party/settings.py @@ -0,0 +1,89 @@ +""" +Django settings for relying_party project. + +Generated by 'django-admin startproject' using Django 4.0.2. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from .settingslocal import * # noqa: F401 + + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'relying_party.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'relying_party.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.0/topics/i18n/ + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' +STATIC_ROOT = os.path.join(BASE_DIR, 'static') + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + diff --git a/relying_party/relying_party/settingslocal.py b/relying_party/relying_party/settingslocal.py new file mode 100644 index 0000000..a5227f7 --- /dev/null +++ b/relying_party/relying_party/settingslocal.py @@ -0,0 +1,110 @@ +import aiohttp +import os + +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +SECRET_KEY = 'visione-cie-rp-local-dev' +DEBUG = True +ADMIN_PATH = 'admin/' +APPEND_SLASH = False + +OIDCFED_DEFAULT_TRUST_ANCHOR = "http://127.0.0.1:8000" +OIDCFED_TRUST_ANCHORS = [OIDCFED_DEFAULT_TRUST_ANCHOR] +OIDCFED_REQUIRED_TRUST_MARKS = [] + +OIDCFED_IDENTITY_PROVIDERS = { + "spid": { + "http://127.0.0.1:8000/oidc/op": OIDCFED_DEFAULT_TRUST_ANCHOR, + }, + "cie": { + "http://127.0.0.1:8002/oidc/op": OIDCFED_DEFAULT_TRUST_ANCHOR, + }, +} + +HTTPC_PARAMS = { + "connection": {"ssl": True}, + "session": {"timeout": aiohttp.ClientTimeout(total=4)}, +} + +LOGIN_REDIRECT_URL = "/visione/complete" +LOGOUT_REDIRECT_URL = "/oidc/rp/landing" +LOGIN_URL = "/oidc/rp/landing" + +VISIONE_BACKEND_EXCHANGE_URL = "http://127.0.0.1:5555/api/v1/auth/cie/exchange" +VISIONE_SHARED_SECRET = "change-me-for-local-dev" +VISIONE_DEFAULT_PROVIDER = "http://127.0.0.1:8002/oidc/op" +VISIONE_DEFAULT_PROFILE = "cie" + +ALLOWED_HOSTS = ['*'] +AUTH_USER_MODEL = 'spid_cie_oidc_accounts.User' + +INSTALLED_APPS = [ + 'spid_cie_oidc.accounts', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + "bootstrap_italia_template", + 'spid_cie_oidc.entity', + 'spid_cie_oidc.authority', + 'spid_cie_oidc.relying_party', + 'djagger' +] + +TEMPLATE_LOADERS = ( + 'django.template.loaders.eggs.Loader' +) + +DJAGGER_DOCUMENT = { + "app_names": ['spid_cie_oidc'], +} + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +DATA_UPLOAD_MAX_NUMBER_FIELDS = 65000 + +ADMINS = [('Visione', 'devnull@example.com')] + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + }, + }, + 'handlers': { + 'console': { + 'formatter': 'default', + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + }, + }, + 'loggers': { + 'django': { + 'handlers': ['console'], + 'level': 'ERROR', + 'propagate': False, + }, + 'spid_cie_oidc': { + 'handlers': ['console'], + 'level': 'INFO', + 'propagate': False, + } + } +} +SESSION_COOKIE_NAME = 'visione_rp_sessionid' +CSRF_COOKIE_NAME = 'visione_rp_csrftoken' diff --git a/relying_party/relying_party/settingslocal.py.example b/relying_party/relying_party/settingslocal.py.example new file mode 100644 index 0000000..71364a3 --- /dev/null +++ b/relying_party/relying_party/settingslocal.py.example @@ -0,0 +1,161 @@ +import aiohttp +import os + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + +# SECURITY WARNING: keep the secret key used in production secret! +# CHANGE THIS VALUE +SECRET_KEY = 'lrx(fg&+2e=$l=y8$!£$%$/£%412345234534543--345234-dfdfgsdf-myg%r3z!yjm(lg*l%-z' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +# the path corresponding the admin backend, default if not defined: admin/ +# CHANGE THIS VALUE +ADMIN_PATH = 'admin/' +APPEND_SLASH = False + +# required for onboarding checks and also for all the leafs +OIDCFED_DEFAULT_TRUST_ANCHOR = "http://127.0.0.1:8000" +OIDCFED_TRUST_ANCHORS = [OIDCFED_DEFAULT_TRUST_ANCHOR] + +OIDCFED_REQUIRED_TRUST_MARKS = [] + +# for RP only +OIDCFED_IDENTITY_PROVIDERS = { + "spid": { + "http://127.0.0.1:8000/oidc/op" : OIDCFED_DEFAULT_TRUST_ANCHOR, + }, + "cie": { + "http://127.0.0.1:8002/oidc/op" : OIDCFED_DEFAULT_TRUST_ANCHOR, + } +} + +HTTPC_PARAMS = { + "connection": {"ssl": True}, + "session": {"timeout": aiohttp.ClientTimeout(total=4)}, +} + +LOGIN_REDIRECT_URL = "/oidc/rp/echo_attributes" +LOGOUT_REDIRECT_URL = "/oidc/rp/landing" +LOGIN_URL = "/oidc/rp/landing" + +ALLOWED_HOSTS = ['*'] +AUTH_USER_MODEL = 'spid_cie_oidc_accounts.User' + +INSTALLED_APPS = [ + 'spid_cie_oidc.accounts', + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + "bootstrap_italia_template", + 'spid_cie_oidc.entity', + 'spid_cie_oidc.authority', + 'spid_cie_oidc.relying_party', + 'djagger' +] + +TEMPLATE_LOADERS = ( +'django.template.loaders.eggs.Loader' +) + +DJAGGER_DOCUMENT = { + "app_names" : ['spid_cie_oidc'], +} + +DATABASES = { + # if you need more power + # 'default': { + # 'ENGINE': 'django.db.backends.mysql', + # 'NAME': 'that-username', + # 'HOST': 'localhost', + # 'USER': 'that-user', + # 'PASSWORD': 'that-password', + # 'PORT': '', + # 'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"} + # }, + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +# https://docs.djangoproject.com/en/2.0/topics/i18n/ + +LANGUAGE_CODE = 'it-it' +TIME_ZONE = 'Europe/Rome' +USE_I18N = True +USE_L10N = True +USE_TZ = True + +DATA_UPLOAD_MAX_NUMBER_FIELDS = 65000 + +# email notification on errors +# DEFAULT_FROM_EMAIL = 'fedauth-noreply@DOMAIN' +# SERVER_EMAIL = DEFAULT_FROM_EMAIL +# EMAIL_HOST = 'smtpservice.yourdomain.it' +# EMAIL_HOST_USER = 'myemail@hotmail.com' +# EMAIL_HOST_PASSWORD = 'mypassword' +# EMAIL_PORT = 587 +# EMAIL_USE_TLS = True + +ADMINS = [('name surname', 'user1@DOMAIN'), + ('name surnale', 'user2@DOMAIN'),] + +# LOGGING +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + # exact format is not important, this is the minimum information + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + }, + 'detailed': { + 'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s [%(pathname)s %(funcName)s:%(lineno)s]' + }, + }, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse' + } + }, + 'handlers': { + 'mail_admins': { + 'formatter': 'detailed', + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + }, + 'console': { + 'formatter': 'default', + 'level': 'DEBUG', + 'class': 'logging.StreamHandler', + }, + "daily": { + "class": "logging.handlers.TimedRotatingFileHandler", + "level": "INFO", + "formatter": "default", + "filename": f"{BASE_DIR}/logs/relying_party.log", + "when": "midnight", + "backupCount": 96 + } + }, + 'loggers': { + 'django': { + 'handlers': ['console', 'mail_admins'], + 'level': 'ERROR', + 'propagate': False, + }, + 'spid_cie_oidc': { + 'handlers': ['console', 'mail_admins', "daily"], + 'level': 'INFO', + 'propagate': False, + } + } +} diff --git a/relying_party/relying_party/urls.py b/relying_party/relying_party/urls.py new file mode 100644 index 0000000..527098c --- /dev/null +++ b/relying_party/relying_party/urls.py @@ -0,0 +1,66 @@ +"""acsia_agent_proj URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.conf import settings +from django.contrib import admin +from django.urls import include, path, re_path +from django.views.static import serve + +from spid_cie_oidc.entity.urls import urlpatterns as ta_urlpatterns +from .visione_views import VisioneCompleteView, VisioneStartView + +admin.site.site_header = "OIDC Federation Relying Party Administration" +admin.site.site_title = "OIDC Federation Relying Party" +admin.site.index_title = "Welcome to OIDC Federation Relying Party Admin backend" + +ADMIN_PATH = getattr(settings, 'ADMIN_PATH', 'admin/') + +urlpatterns = [ + path(f"{ADMIN_PATH}", admin.site.urls), + path("visione/start", VisioneStartView.as_view(), name="visione_start"), + path("visione/complete", VisioneCompleteView.as_view(), name="visione_complete"), + re_path('^static/(?P.*)$', + serve, { + 'document_root': settings.STATIC_ROOT, + 'show_indexes': True + } + ), +] + +urlpatterns.extend(ta_urlpatterns) + +if 'spid_cie_oidc.relying_party' in settings.INSTALLED_APPS: + from spid_cie_oidc.relying_party.urls import urlpatterns as rp_urlpatterns + urlpatterns.extend(rp_urlpatterns) + + from spid_cie_oidc.entity.views import entity_configuration, resolve_entity_statement + + urlpatterns.extend( + [ + path( + "oidc/rp/.well-known/openid-federation", + entity_configuration, + name="rp_entity_configuration", + ), + path( + "oidc/rp/resolve", + resolve_entity_statement, + name="rp_entity_resolve", + ), + ] + ) + +if 'djagger' in settings.INSTALLED_APPS: + urlpatterns.append(path('rest/', include('djagger.urls'))) diff --git a/relying_party/relying_party/visione_views.py b/relying_party/relying_party/visione_views.py new file mode 100644 index 0000000..740d23a --- /dev/null +++ b/relying_party/relying_party/visione_views.py @@ -0,0 +1,105 @@ +import hashlib +import hmac +import json +import urllib.error +import urllib.request + +from django.conf import settings +from django.http import HttpResponseBadRequest, HttpResponseRedirect, HttpResponseServerError +from django.views import View + + +class _NoRedirectHandler(urllib.request.HTTPRedirectHandler): + def redirect_request(self, req, fp, code, msg, headers, newurl): + return None + + +def _normalize_fiscal_code(value): + if not value: + return value + fiscal_code = value.strip().upper() + if fiscal_code.startswith("TINIT-"): + fiscal_code = fiscal_code[6:] + return fiscal_code + + +class VisioneStartView(View): + def get(self, request): + state = request.GET.get("state") + frontend_redirect_uri = request.GET.get("frontend_redirect_uri") + provider = request.GET.get("provider", settings.VISIONE_DEFAULT_PROVIDER) + profile = request.GET.get("profile", settings.VISIONE_DEFAULT_PROFILE) + if not state or not frontend_redirect_uri: + return HttpResponseBadRequest("Missing state or frontend_redirect_uri") + + request.session["visione_state"] = state + request.session["visione_frontend_redirect_uri"] = frontend_redirect_uri + request.session["visione_provider_issuer"] = provider + + return HttpResponseRedirect( + f"/oidc/rp/authorization?provider={provider}&profile={profile}" + ) + + +class VisioneCompleteView(View): + def get(self, request): + user_attrs = request.session.get("oidc_rp_user_attrs", {}) + state = request.session.get("visione_state") + issuer = request.session.get("visione_provider_issuer") + + fiscal_code = user_attrs.get("fiscal_number") or user_attrs.get( + "https://attributes.eid.gov.it/fiscal_number" + ) + fiscal_code = _normalize_fiscal_code(fiscal_code) + subject = user_attrs.get("sub") or user_attrs.get("username") + if not state or not issuer or not subject or not fiscal_code: + return HttpResponseBadRequest("Missing Visione auth session or user attributes") + + payload = { + "state": state, + "issuer": issuer, + "subject": subject, + "fiscal_code": fiscal_code, + "first_name": user_attrs.get("given_name", ""), + "last_name": user_attrs.get("family_name", ""), + "email": user_attrs.get("email", ""), + } + raw_body = json.dumps(payload, separators=(",", ":")) + signature = hmac.new( + settings.VISIONE_SHARED_SECRET.encode("utf-8"), + raw_body.encode("utf-8"), + hashlib.sha256, + ).hexdigest().upper() + + req = urllib.request.Request( + settings.VISIONE_BACKEND_EXCHANGE_URL, + data=raw_body.encode("utf-8"), + headers={ + "Content-Type": "application/json", + "X-Visione-Signature": signature, + }, + method="POST", + ) + opener = urllib.request.build_opener(_NoRedirectHandler) + + try: + opener.open(req) + except urllib.error.HTTPError as exc: + if exc.code in (301, 302, 303, 307, 308): + location = exc.headers.get("Location") + if location: + return HttpResponseRedirect(location) + return HttpResponseServerError("Visione backend returned redirect without location") + error_body = "" + try: + error_body = exc.read().decode("utf-8").strip() + except Exception: + error_body = "" + detail = f" {error_body}" if error_body else "" + return HttpResponseServerError( + f"Visione backend exchange failed: {exc.code}{detail}" + ) + except Exception as exc: + return HttpResponseServerError(f"Visione backend exchange failed: {exc}") + + return HttpResponseServerError("Visione backend exchange did not redirect") diff --git a/relying_party/relying_party/wsgi.py b/relying_party/relying_party/wsgi.py new file mode 100644 index 0000000..7a0715e --- /dev/null +++ b/relying_party/relying_party/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for relying_party project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'relying_party.settings') + +application = get_wsgi_application() diff --git a/relying_party/run.sh b/relying_party/run.sh new file mode 100644 index 0000000..7ca93b4 --- /dev/null +++ b/relying_party/run.sh @@ -0,0 +1,3 @@ +#!/bin/bash +./manage.py migrate +./manage.py runserver 0.0.0.0:8001