madbob/laravel-spid-cie-oidc

Italian SPID/CIE over OIDC authentication for Laravel

Fund package maintenance!
Other

0.1.2 2024-09-05 17:03 UTC

This package is auto-updated.

Last update: 2024-09-05 15:12:31 UTC


README

Questo pacchetto semplifica l'autenticazione SPID/CIE su protocollo OIDC per le applicazioni Laravel.

ATTENZIONE! L'AUTENTICAZIONE SPID NON È ANCORA STATA IMPLEMENTATA!

Per supporto e consulenza, manda una mail a info@madbob.org

Installazione

# Installa il pacchetto
composer require madbob/laravel-spid-cie-oidc

# Inizializza il file di configurazione in config/spid-cie-oidc.php
# È raccomandato revisionare e correggere i parametri della configurazione prima
# di eseguire il comando di generazione dei certificati, in particolare la
# sezione "organization"
php artisan vendor:publish --provider="MadBob\SCOL\SCOLServiceProvider" --tag=config

# Genera i certificati
php artisan scol:make-certificates

Un passaggio importante del setup iniziale è la predisposizione delle proprie callback di autenticazione: è necessario predisporre una propria classe che implementi l'interfaccia MadBob\SCOL\Interfaces\UserLogin e specificarne il path nella configurazione (in spid-cie-oidc.operations.login). Nel file src/Helpers/DefaultLogin.php se ne trova un esempio con i relativi dettagli. Eventualmente si può fare altrettanto per gestire il logout, aggiungendo una propria classe che implementi l'interfaccia MadBob\SCOL\Interfaces\UserLogout.

Nel proprio pannello di login, si può usare il seguente codice per ottenere il link che attiva la procedura di autenticazione:

$buttons = new \MadBob\SCOL\Helpers\Buttons();
$cie_link = $buttons->buttonCie();

echo '<a href="' . $cie_link . '">Entra con CIE</a>';

Note

I files che si trovano nella cartella deps sono stati copiati interamente da questo repository, che a sua volta è un fork - riveduto e corretto - di quest'altro repository. Molti dei files qui presenti non sono utilizzati da questo modulo, ma si è preferito conservare l'intera cartella ed utilizzare direttamente quel codice senza modifiche per semplificare eventuali aggiornamenti futuri.

Tutti i files generati da questo modulo (certificati, databases...) sono conservati nella cartella storage/oidc, che deve dunque essere scrivibile dal web server (come del resto tutta la cartella storage).

Licenza

laravel-spid-cie-oidc è distribuito in licenza Apache 2.

Copyright holders: