Login System Discussione

Salve a tutti,
so che state lavorando al login system. Molto spesso si ha la tendenza a costruire invece che a usare.
Da un po cercavo un alternativa in Go, di quello che e’ Identity server in .NET e ho trovato questo:
Non so se vi puo essere utile Hydra, basta usare i container e mettere un identity provider(i.e. LDAP o SQL).
Faro delle prove…perche mi sembra interessante.
Saluti,
Giorgio

2 Mi Piace

È proprio per questo motivo che ci vuole un Project Management Committee…
Per contenere il caos

@ggadaleta sta lavorando a una soluzione, è abbastanza avanti con il lavoro e non mi sembra il caso di farne partire un’altra.

1 Mi Piace

@jozoppi , la mia soluzione si avvicina molto a quella che hai proposto. Appena sara’ pronto IO-Gateway su kubernetes proporro’ la pull request con un memo che ne descrive il funzionamento. In buona sostanza ho modificato l’immagine docker openidentityplatform/opendj e utilizzo la libreria python-ldap per creare le utenze e gestire le credenziali. Alla login creo un cookie in javascript che riporta al suo interno lo username e il gruppo di appartenenza.

1 Mi Piace

Supporti anche SAML? Ok, aspetto di vederla e provarla allora. Buon lavoro!

non supporta SAML perche’ non ho adottato un sistema di access management. C’e’ solo l’LDAP per le credenziali. Ho ritenuto non opportuno inserire il componente di access management perche’ il sistema verra’ utilizzato solo in backend da utenti specializzati.

Ottimo lavoro. Avvisa quando e’ pronto.

Ciao, poteva essere comoda la soluzione usare Keycloak, permette di autenticarsi con api rest, permette di integrare federazioni come ldap o kerberos, ovviamente prorpio se si vuole altimenti usa un suo db, permette di fare da ponte per altri providers oauth2 e comunque dato che il contesto sara’ k8s lavorare con i jwt non sarebbe proprio una brutta idea.

2 Mi Piace

bene ti offri volontario di farci una PoC ? :slight_smile:

Allora sono entrato oggi, ma perche’ no. Una semplice presentazione con docker e postman potrebbe andare bene? o devo prima capire come installare tutto l’ambiente e integrarlo nello stesso?

Le cose convergono! OpenMed vuole usare proprio Keycloak , contatta @mj8284 Marco Lecce per una PoC che può essere contribuita. Per IO-Gateway lascerei la decisione poi a @ggadaleta se quello che vede può essere utile.

1 Mi Piace

Ciao! Stavo studiando proprio in questi giorni Keycloak dopo aver letto nel forum della community che l’autenticazione del wiki non è in SSO ma bisogna riregistrarsi di nuovo… ma sono completamente digiuno di docker/k8s quindi sto andando molto a rilento… ma da quello che ho visto, sembra una soluzione molto flessibile in effetti… sto cercando di tirare su una vps che avevo in disuso con Keycloak, discourse e Wikimedia per vedere se ci riesco ed è fattibile…

A parte questo off topic di cui mi scuso, trovo molto comodo Keycloak proprio per il fornire un autenticazione semplice o complessa a piacere :slight_smile:

Tutta la configurazione (e un backup automatizzato :)) del wiki sta qui https://github.com/noiopen/wiki.noiopen.it se riesci a fare una pull-request che fa un SSO con discourse sarebbe abbastanza interessante.

1 Mi Piace

ciao @massimo.scattarella e benvenuto! ho creato un thread specifico per OpenMED :wink:

Per ora son riuscito a tirare su un docker con Keycloak con https (certbot), un docker con MediaWiki (ancora da configurare) ed un docker con nginx che fa da reverse proxy per mascherare gli altri servizi… appena finisco di riuscire a tirare su MediaWiki col doker ufficiale in https provo la funzionalità di SSO, poi passo a discord (altro docker) e se ci riesco magari provo a creare un docker-compose per poter permettere l’installazione e la configurazione del tutto.

Quando ci ho capito un po’ di più, cerco di integrare il tutto col tuo repo, cercando di tenere tutto in diversi docker che collaborino, così da poterlo in futuro deployare con un helm chart…

Di sicuro sto imparando parecchie cosette interessanti… spero di riuscire a produrre qualcosa da testare prima che i progetti di NoiOpen siano finiti :sweat_smile:

1 Mi Piace

Una cosa mi raccomando: qui molti imparano ma l’open source è fatto di piccoli contribuiti che vengono integrati. Sapessi quante volte capitano cose che vengono fatte e le PR non arrivano mai o non sono mergiabili. Quindi se fai quelle prove sarei felice di metterle in produzinoe. Come ho spiegato nel mio talk, nel contribuire al progetto openwhisk probabilmente il 90% del tempo se ne è andato nell’integrare il lavoro… non è cool ma è essenziale. È una cultura che come community dobbiamo avere.

2 Mi Piace

Sono pienamente d’accordo. Il mio problema attuale è che è la prima volta che utilizzo i docker quindi ho un piccolo guazzabuglio al momento e mi “vergogno” di pushare cose che non metterei mai nemmeno io online, specialmente perché mi mancano le personalizzazioni (tipo permettere di definire il dominio, le utenze/password, ora è tutto stato fatto a mano) :sweat_smile:

È anche la prima volta che contribuisco ad un progetto open, quindi devo “imparare” a contribuire e prioritizzare le mie attività…

Credo che per fare bene le due cose, per ora farò come mi hai consigliato, ossia tirare su qualcosa di pseudo-semplice con discourse/Keycloak ed intanto pushare quello, così che tu possa testarlo. Per poi passare all’integrazione con il MediaWiki che hai tu (così come l’hai fatto o usando il docker ufficiale senza il software in go che fa da webserver).

Grazie dei consigli… spero in questo weekend/ponte dell’8 dicembre di riuscire a condividere qualcosa di testabile anche da altri invece che solo sul mio vps :slight_smile:

2 Mi Piace

O addirittura potrei partire dal solo Keycloak integrato col tuo MediaWiki e POI passare a discourse… credo sia più lineare, che dici?

Puoi benissimo fare una PR che però mergio in un branch di prova, per vederla, e quando sarà pronta la mergio sul master e la deployo. Io sono sempre per “infrastructure as a code” e rendo tutto replicabile.

1 Mi Piace

Ciao @imoas83, a che punto sei arrivato con Keycloak? Se ti può servire una mano io in passato ci ho lavorato.

Fammi sapere :slight_smile:

Lui sta provando a implementare un SSO tra mediawiki e discourse anche se l’esperienza è interessante e potremo usarla anche per IO-gateaway

1 Mi Piace