Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Indicizzazione degli AssertionConsumerService: vincolo index="0" e isDefault="true" veramente necessario? #53

Open
mauromol opened this issue Jul 26, 2021 · 0 comments

Comments

@mauromol
Copy link

Le regole tecniche SPID richiedono:

deve essere presente almeno un elemento <AssertionConsumerService> [...]
In particolare il primo di questi elementi (o l’unico elemento riportato) deve
obbligatoriamente riportare:

  • l’attributo index posto al valore 0;
  • l’attributo isDefault posto al valore true;

È veramente necessario mantenere questo vincolo? Che ci sia almeno un <AssertionConsumerService> è ovvio (ed è rafforzato dallo schema SAML 2.0 per i metadati), dopodiché <AssertionConsumerService> è di tipo IndexedEndpointType per il quale le specifiche SAML 2.0 (par. 2.2.3) sono molto precise:

In any such sequence of like endpoints based on this type, the default endpoint is the first such endpoint
with the isDefault attribute set to true. If no such endpoints exist, the default endpoint is the first such
endpoint without the isDefault attribute set to false. If no such endpoints exist, the default endpoint is
the first element in the sequence.

IMHO potrebbe essere sufficiente richiedere indice >=0 (giusto perché poi in altri contesti si richiedono indici specifici, vedi proxy eIDAS) dopodiché il default è sempre possibile individuarlo in modo non ambiguo basandosi sul criterio stabilito dalle specifiche SAML, per cui richiedere forzatamente la presenza di isDefault="true" (in modo particolare poi quando ce n'è solo uno) a mio parere è ridondante...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant