SDK IngressoDigitale per i tuoi linguaggi

Librerie native con API uniforme: startAuth, verifyToken, logout. Documentazione in italiano, esempi per i framework più diffusi.

Linguaggi supportati ufficialmente

PHP

composer require ingressodigitale/sdk

PHP 7.4+ e 8.x, compatibilità anche con PHP 5.6 (versione legacy del pacchetto).

Node.js

npm install @ingressodigitale/sdk

Node 16+, TypeScript types inclusi. Compatibile con Express, Fastify, NestJS.

Python

pip install ingressodigitale

Python 3.8+. Pronto per Flask, Django, FastAPI.

Java

com.ingressodigitale:sdk:1.0

Java 11+, Maven Central. Adattatori per Spring Boot, Quarkus.

.NET

dotnet add package IngressoDigitale.Sdk

.NET 6+. Middleware ASP.NET Core pronto all\'uso.

Go

go get github.com/ingressodigitale/go-sdk

Go 1.20+. Compatibile con net/http, gin, fiber.

Esempio minimo in PHP

require __DIR__ . '/vendor/autoload.php';

use IngressoDigitale\Client;

$client = new Client([
  'tenant_id' => 'sp-mio-ordine',
  'api_key'   => getenv('ID_API_KEY'),
]);

// Inizio autenticazione (redirect su IngressoDigitale)
if ($_GET['action'] === 'login') {
  header('Location: ' . $client->startAuth([
    'level'     => 'L2',
    'attributes'=> ['fiscalNumber', 'name', 'familyName', 'email'],
    'returnTo'  => 'https://www.miosito.it/spid/callback',
  ]));
  exit;
}

// Callback dopo autenticazione
if ($_GET['action'] === 'callback') {
  $utente = $client->verifyToken($_GET['id_token']);
  session_start();
  $_SESSION['utente'] = $utente;
  header('Location: /area-riservata/');
}

Esempio per Laravel

Esiste un service provider Laravel ufficiale che semplifica ulteriormente:

composer require ingressodigitale/laravel
php artisan vendor:publish --provider="IngressoDigitale\Laravel\ServiceProvider"

// routes/web.php
Route::get('/login', [\IngressoDigitale\Laravel\Controllers\AuthController::class, 'start']);
Route::get('/spid/callback', [\IngressoDigitale\Laravel\Controllers\AuthController::class, 'callback']);

// In un controller protetto:
public function areaRiservata()
{
    $utente = auth()->user();   // utente già autenticato via SPID
    return view('area', compact('utente'));
}

Per WordPress

Per chi ha un sito WordPress (CMS, blog di ordine o associazione) esiste un plugin ufficiale che aggiunge il bottone "Entra con SPID" alla schermata di login wp-login.php. Vedi la guida integrazione SPID su WordPress per dettagli.

Vuoi provare l'SDK?

Ti diamo credenziali sandbox in 5 minuti. Niente carta di credito.

IngressoDigitale fa parte dell'ecosistema Ordix, suite completa di gestionali per enti pubblici e ordini professionali. Scopri Ordix