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

Avviso SPID n. 19 v.4 - gestori di pubblico servizio #25

Open
infoFactorySRL opened this issue Mar 6, 2021 · 6 comments
Open

Avviso SPID n. 19 v.4 - gestori di pubblico servizio #25

infoFactorySRL opened this issue Mar 6, 2021 · 6 comments

Comments

@infoFactorySRL
Copy link

Buongiorno,
a seguito della richiesta di validazione da parte di AGID del mio metadata ho ricevuto questa richiesta:

Essendo voi gestori di pubblico servizio, dovete essere conformi all’Avviso SPID n. 19 v.4 (https://www.agid.gov.it/sites/default/files/repository_files/spid-avviso-n19v4-regole_tecniche_aggregatori_0.pdf) ed in particolare:

  1.   l’entityID deve contenere il codice attività pub-op-full
    
  2.   il tag ContactPerson deve avere l’attributo spid:entityType valorizzato come spid:aggregator e deve contenere, nel tag Extensions, il tag vuoto PublicServicesFullOperator
    

Si rende quindi necessario aggiungere l'attributo spid:entityType valorizzato come spid:aggregator a "ContactPerson" se viene inserito il tag "PublicServicesFullOperator"
Suggerisco di implementare questo cambiamento nel file:
djangosaml2_spid/views.py
Da

 for k,v in contact.items():
                if k in contact_kwargs: continue
                ext = saml2.ExtensionElement(
                        k, 
                        namespace=settings.SPID_PREFIXES['spid'],
                        text=v
                )
                spid_extensions.children.append(ext)

A

for k,v in contact.items():
                if k in contact_kwargs: continue
                if k=="PublicServicesFullOperator":
                    spid_contact.extension_attributes= {"spid:entityType": "PublicServicesFullOperator"}
                ext = saml2.ExtensionElement(
                        k, 
                        namespace=settings.SPID_PREFIXES['spid'],
                        text=v
                )
                spid_extensions.children.append(ext)
@peppelinux
Copy link
Member

Ok mi piace, lo testo prima di unirlo e sarebbe anche l'ora di fare unit test sulle varie opzioni di contact person

Grazie ottimo contributo

@infoFactorySRL
Copy link
Author

C'è un piccolo errore nella codice precedente:
spid_contact.extension_attributes= {"spid:entityType": "PublicServicesFullOperator"}
deve essere
spid_contact.extension_attributes= {"spid:entityType": "spid:aggregator"}

Inoltre volevo segnalare che l'aggiunta del tag PublicServicesFullOperator genera errore nella verifca del XSD da parte del toolo SPID Validator.

the metadata must validate against the XSD stderr: ./data/https___64e1f4223730_ngrok_io_spid_pub_op_full_/sp-metadata.xml:45: element PublicServicesFullOperator: Schemas validity error : Element '{https://spid.gov.it/saml-extensions}PublicServicesFullOperator': This element is not expected. Expected is ( {https://spid.gov.it/invoicing-extensions}CessionarioCommittente ). stderr: ./data/https___64e1f4223730_ngrok_io_spid_pub_op_full_/sp-metadata.xml fails to validate

@peppelinux
Copy link
Member

Questo contributo si presenterebbe sotto forma di pull request.

Te la senti di procedere?
Serve anche un esempio su come parametrizzare questo comportamento all'interno del settings di spid_config

@infoFactorySRL
Copy link
Author

Buongiorno, ho provato a creare un nuovo branch e "aggiungerlo" con il comando
git push --set-upstream origin [nuovo_branch]
per poi creare una pull request ma ottengo questo errore:
remote: Permission to italia/spid-django.git denied to infoFactorySRL.
fatal: unable to access 'https://github.com/italia/spid-django.git/': The requested URL returned error: 403
Sbaglio qualche cosa?

@peppelinux
Copy link
Member

fai il tuo fork e pushi sul tuo fork, dopodiché fai pull request sul branch dev

@peppelinux
Copy link
Member

ho unito su dev la feature da te proposta via PR
credo che necessiti di test e tua revisione, senza dimenticarci di una sezione dedicata all'interno del readme che brevemente descriva questa nuova feature

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

No branches or pull requests

2 participants