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

Richiesta sullo stato di salute del progetto #34

Open
peppelinux opened this issue Feb 4, 2021 · 7 comments
Open

Richiesta sullo stato di salute del progetto #34

peppelinux opened this issue Feb 4, 2021 · 7 comments

Comments

@peppelinux
Copy link
Member

Ciao @descovi

Abbiamo ricevuto alcune segnalazioni da parte degli sviluppatori che ci indicano che questo repository conterrebbe risorse
non allineate con lo stato attuale delle Specifiche SPID.

Spero di ottenere un tuo gentile feedback entro la prossima settimana,
Grazie e a presto

@descovi
Copy link
Member

descovi commented Feb 8, 2021

Ciao @peppelinux, si ci fu un refactor ormai molti anni fa non condotto da noi di cui non abbiamo seguito effettivamente l'evoluzione. Probabilmente @davidlibrera, che ha riscritto la gemma puo darci una mano.

@davidlibrera
Copy link
Member

@peppelinux

Salve, buonasera.
Chiedo venia per non aver visto per un così lungo periodo la menzione ma ci sono state una serie di problematiche.
Sono disponibile a qualunque chiarimento e chiedo venia nuovamente.

@peppelinux
Copy link
Member Author

Ciao @davidlibrera

Non preoccuparti, siamo liberi contributori.
Che ne pensi di aprire un repo per spid-cie-oidc-rails e tirare dentro anche @MdreW

@MdreW
Copy link

MdreW commented Mar 20, 2022

Ciao @davidlibrera

Non preoccuparti, siamo liberi contributori.
Che ne pensi di aprire un repo per spid-cie-oidc-rails e tirare dentro anche @MdreW

Da parte mia disponibilissimo!

La libreria openid connect di Ruby al momento non supporta il federation e mi sto iniziando a studiare come modificarla. Avevo aperto una issue , ma non ho avuto risposta, lunedì passerò al fork 👍

Se si sistema la libreria dovremmo guadagnare facilmente la compatibilità con devise e omniauth.

@peppelinux
Copy link
Member Author

Su oidc federation per RP in SPID/CIE non c'è molto da preoccuparsi, gli IDP non hanno intermediari, quindi si fa prima una chiamata a

.well-knwon/openid-federation dell'op eppoi un fetch di entity statement dal trust anchor (Agid o MinInterno) per la verifica della firma. Tutto qui.

Essendo gli IDP ben definiti all'interno della federazione si possono collezionare in una lista e aggiornare periodicamente le trust chain, con un comando schedulato. questo torna utile per la costruzione dinamica dello spid button.

qui trovate una implementazione
https://github.com/italia/spid-cie-oidc-django/blob/main/docs/technical_specifications/RELYING_PARTY.md#general-settings-paramenters

@peppelinux
Copy link
Member Author

@MdreW se volete un consiglio, prendete una libreria per creare/verificare/(de)criptare JWT/JWS/JWE

un RP sono 2 endpoint oidc standard (authz e callback), un endpoint oauth2 (revocation) e un endpoint oidc federation (.well-knwon/openid-federation)

ci vuole più tempo a modificarla una libreria che a fare 4 jwt a mano
inoltre, usando una libreria SPID/CIE specializzata non andreste in conflitto usando l'altra libreria contemporaneamente se già in un progetto ci fosse una autentica oidc/oauth2

per il resto, sentitevi liberi

@davidlibrera
Copy link
Member

davidlibrera commented Mar 21, 2022

@MdreW @peppelinux per chiarezza: l'architettura attuale è composta da 3 librerie

spid-ruby che è l'implementazione del protocollo SPID/SAML in linguaggio ruby e sopra di esse 2 librerie: una è la qui presente spid-rails mentre l'altra è spid-sinatra che altro non sono che wrapper intorno alla libreria ruby per adattarla agli specifici framework (ad esempio esiste anche hananirb che essendo potrebbe usare direttamente spid-ruby o richiedere qualcosa sopra).

Io in virtù di questo sarei propenso a sviluppare un qualcosa come spid-oidc-ruby e valutare se fare dei wrapper esterni, che ne dite?

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

4 participants