italia / spid-cie-oidc-django

The SPID/CIE OIDC Federation SDK, written in Python
Apache License 2.0
28 stars 29 forks source link

Generated trust mark verification problem #320

Open Saverio82 opened 5 months ago

Saverio82 commented 5 months ago

Hi everyone,

unlike what is reported in the shared documentation, the current "trust_mark_template" contained in the example.json file reports a trust mark id that does not correspond to the profile id for SPID Private SP and SPID Public SP. https://docs.italia.it/italia/spid/spid-cie-oidc-docs/it/versione-corrente/trust_marks.html This means that the generated trust mark is not correctly validated by the _federation_trust_mark_statusendpoint.

peppelinux commented 5 months ago

you should customize the trust mark ids

please share your proposal here, I'll give any needed help

Saverio82 commented 5 months ago

Ciao Giuseppe,

I simply think it's necessary to modify examples/federation_authority/dumps/example.json in this way:

{ "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/openid-federation/agreement/sp-public", "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/openid-federation/agreement/sp-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/openid-federation/agreement/op-public", "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" } } }

so that a validatable trust mark is generated

peppelinux commented 5 months ago

Ok, ILGTM, please provide a PR to get this update in the example projects