/AuthOk

Il progetto prevede la realizzazione di una libreria in Java per la comunicazione remota tra sistemi. La libreria implementa in modo preciso la specifica del protocollo JSON-RPC e consente di implementare client e server JSON-RPC: • Un server poterà ricevere richieste o notifiche e inviare risposte. • Un client potrà inviare richieste o notifiche e ricevere risposte. Sulla base di questa libreria viene realizzato un sistema di autorizzazione centralizzato per l’accesso a certe risorse. Il sistema centrale detiene l’elenco delle risorse accessibili. Tale elenco è aggiornabile creando, modificando o cancellando risorse. Analogamente il sistema tiene traccia delle autorizzazioni concesse. Deve essere possibile: • Richiedere nuove autorizzazioni: fornendo i dati dell’utente, un livello e una scadenza, il sistema genera una chiave unica segreta per l’utente che dura fino alla scadenza. La chiave è associata ad un livello di autorizzazione: l’utente risulta autorizzato ad accedere a tutte le risorse associate a un livello inferiore o uguale alla propria autorizzazione. • Revocare autorizzazioni (data la chiave) • Chiedere un token di accesso a una risorsa: il sistema riceve la richiesta con il codice della risorsa e la chiave utente, verifica se la chiave è compatibile con il livello di risorsa richiesto e in caso positivo genera un token della durata di 24 ore per accedere alla risorsa. Una risorsa può verificare sul sistema in ogni momento la validità di un token: dato token valido, il sistema restituisce per quanto tempo è ancora valido. Dato un token scaduto o inesistente, il sistema restituisce errore.

Primary LanguageJava

This repository is not active