Integrazione del protocollo OAUTH con il protocollo LDAP, una seconda soluzione un po’ più sicura.
In questa soluzione è presente un server OAUTH configurato in modo tale da utilizzare LDAP come protocollo di autenticazione. Ovviamente, in GeoServer bisogna installare il plugin di autenticazione OAUTH.
Per non annoiarvi con una lunga descrizione vi propongo il codice per la rappresentazione del diagramma di sequenza dell’interazione dei componenti di quest’ultima architettura che vi ho proposto.
@startuml
participant "Utente" as User
participant "OpenLayers" as OL
participant "Provider OAuth2" as OAuth
participant "LDAP" as LDAP
participant "GeoServer" as GS
participant "PostgreSQL/PostGIS" as PG
User -> OL: Accede all'applicazione
OL -> GS: Richiede layer protetto
GS -> GS: Verifica token OAuth
alt Token non presente o non valido
GS -> OL: Errore 401 (Non autorizzato)
OL -> User: Reindirizza alla pagina di login OAuth
User -> OAuth: Inserisce credenziali LDAP
OAuth -> LDAP: Verifica credenziali
LDAP -> OAuth: Risposta autenticazione
alt Autenticazione riuscita
OAuth -> User: Rilascia token OAuth
User -> OL: Ritorna con token OAuth
OL -> GS: Richiede layer con token OAuth
GS -> GS: Verifica token con Provider OAuth2
GS -> OL: Fornisce layer
else Autenticazione fallita
OAuth -> User: Mostra errore
end
else Token valido
GS -> OL: Fornisce layer
end
group Accesso a PostgreSQL/PostGIS (opzionale con middleware)
User -> PG: Richiede accesso ai dati con token OAuth
PG -> OAuth: Verifica token
OAuth -> PG: Risposta verifica token
alt Token valido
PG -> User: Fornisce dati
else Token non valido
PG -> User: Negazione accesso
end
end
@enduml
Come per il precedente esempio, se tale codice lo applichiamo nel sito di PLANTUML apparirà il seguente diagramma di sequenza come di seguito mostrato.

(Diagramma UML dell’applicazione dei protocolli UML e OAUTH nell’architettura software proposta)
La soluzione proposta in questo secondo caso è assolutamente robusta in termini di sicurezza. Malgrado ciò, si potrebbe continuare a scalare in termini di sicurezza introducendo la possibilità di utilizzare un meccanismo “Multi-Factor Authentication” (Autenticazione a più fattori), ma questa è un altra storia e forse un altro articolo.
Conclusioni
La comprensione del protocollo LDAP dovrebbe essere abbastanza chiara soprattutto nell’ambito applicativo di un sistema informativo territoriale e di conseguenza di qualsiasi altro progetto. Probabilmente, l’articolo risulterà un po’ troppo di nicchia, e forse un po’ troppo semplice, ma potrebbe essere utile per un primo approccio.
Come al solito, per eventuali domande, integrazioni e correzioni inviate un e-mail a webmaster@megalinux.cloud.
Sostenete The Megalinux: In un mare di siti web sovraccarichi di pubblicità invadente, The Megalinux si distingue come l’unico rifugio libero da annunci. Abbiamo scelto di offrirvi un’esperienza di navigazione pulita e ininterrotta, ma per fare ciò, abbiamo bisogno del vostro supporto. Considerate l’idea di contribuire alla nostra missione inviando Bitcoin al nostro indirizzo. Anche una piccola donazione può fare la differenza e ci aiuterà a mantenere il sito libero da pubblicità.
È davvero difficile immaginare che esista qualcuno che, indipendentemente dalle donazioni ricevute (che non ci sono), continui a scrivere in totale libertà, tutto ciò o quasi che trova interessante?
3LpoukFpvDHTZPn5qGbLwUzve3rX9zsSq6
