> For the complete documentation index, see [llms.txt](https://docs.opencityitalia.it/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.opencityitalia.it/installazione-e-manutenzione/integrazioni/autenticazioni.md).

# Autenticazioni

La piattaforma è integrata con sistemi di autenticazione sviluppati sia da OpenCity Labs che da diversi partner ed enti locali.\
In questa pagina si descrivono i vari metodi di autenticazione e le configurazioni per abilitarli.

## Legenda

<table data-header-hidden><thead><tr><th width="361"></th><th></th></tr></thead><tbody><tr><td>✅ Supportato</td><td>❌ Non supportato</td></tr></tbody></table>

## Cittadini

Di seguito sono descritte le integrazioni supportate con sistemi di terze parti e non che possono essere configurate lato cittadino

### Agid / Cie Ministero

<table><thead><tr><th width="156">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>❌</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio [OpenLogin](https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/single-sign-on/sso-mediante-oauth2) nel quale può essere configurato il singolo tenant.\
Il micro servizio si interfaccia direttamente con i sistemi di autenticazione Agid tramite SAML per quanto riguarda Spid\
Utilizzai invece il nuovo sistema di federazione Oidc con il ministero degli interni per quanto riguarda CIE\
La piattaforma comunica con il micro servizio tramite client Oauth 2<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: openlogin
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.comune.bugliano.pi.it/authorize
      url_access_token: https://login.comune.bugliano.pi.it/token
      url_resource_owner_details: https://login.comune.bugliano.pi.it/api/profile
      url_logout: https://login.comune.bugliano.pi.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma\
**login.comune.bugliano.pi.it** è una url di esempio di un'istanza sul micro servizio [OpenLogin](https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/single-sign-on/sso-mediante-oauth2)

### CAS

<table><thead><tr><th width="152">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>❌</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione [CAS](https://www.apereo.org/projects/cas).<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_cas
    cas_login_url: https://cas-server.it/cas/login
    cas_validation_url: https://cas-server.it/cas/serviceValidate
    single_logout_url: https://cas-server.it/cas/logout?service=https://servizi.comune.bugliano.pi.it
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma\
**cas-server.it** è una url di esempio di un server CAS

### Arpa

<table><thead><tr><th width="152">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione [Arpa](https://www.regione.toscana.it/arpa) sviluppato dalla regione Toscana\
La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: arpa
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://arpa-server.it/authorize
      url_access_token: https://arpa-server.it/token
      url_resource_owner_details: https://arpa-server.it/api/profile
      url_logout: https://arpa-server.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma\
**arpa-server.it** è una url di esempio del sistema di autenticazione Arpa

### Provincia Autonoma di Trento

<table><thead><tr><th width="152">SPID L1/L2</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio [Shibboleth Auth Proxy](https://docs.opencityitalia.it/installazione-e-manutenzione/integrazioni/autenticazioni) per interfacciarsi al sistema di autenticazione sviluppato dalla Provincia Autonoma di Trento<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_pat
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma

### Provincia Autonoma di Trento OIDC

<table><thead><tr><th width="152">SPID L1/L2</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo di OIDC per interfacciarsi al sistema di autenticazione sviluppato da Trentino Digitale per la Provincia Autonoma di Trento<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: tndigit
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://aac.cloud-qual.tndigit.it/oauth/authorize
      url_access_token: https://aac.cloud-qual.tndigit.it/oauth/token
      url_resource_owner_details: https://aac.cloud-qual.tndigit.it/userinfo
      url_logout: https://aac.cloud-qual.tndigit.it/endsession?post_logout_redirect_uri=https://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: null
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma

### Firenze Smart

<table><thead><tr><th width="152">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione [Firenze Smart](https://www.firenzesmart.it/) sviluppato da Silfi Spa\
La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: firenzesmart-citizen
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://firenzesmart-server.it/authorize
      url_access_token: https://firenzesmart-server.it/token
      url_resource_owner_details: https://firenzesmart-server.it/api/profile
      url_logout: https://firenzesmart-server.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma\
**firenzesmart-server.it** è una url di esempio del sistema di autenticazione Firenze Smart

### MyId Veneto

<table><thead><tr><th width="160">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio [OpenLogin](https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/single-sign-on/sso-mediante-oauth2) nel quale può essere configurato il singolo tenant.\
Il micro servizio si interfaccia direttamente con l'Idp di MyID Veneto sviluppato da regione Veneto tramite SAML\
La piattaforma comunica con il micro servizio tramite client Oauth 2<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: openlogin
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.comune.bugliano.pi.it/authorize
      url_access_token: https://login.comune.bugliano.pi.it/token
      url_resource_owner_details: https://login.comune.bugliano.pi.it/api/profile
      url_logout: https://login.comune.bugliano.pi.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma\
**login.comune.bugliano.pi.it** è una url di esempio di un'istanza sul micro servizio [OpenLogin](https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/single-sign-on/sso-mediante-oauth2)

### Login FVG

<table><thead><tr><th width="160">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio [OpenLogin](https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/single-sign-on/sso-mediante-oauth2) nel quale può essere configurato il singolo tenant.\
Il micro servizio si interfaccia direttamente con l'Idp di [Login FVG](https://loginfvg.regione.fvg.it/) sviluppato dalla Regione Friuli Venezia Giulia tramite SAML\
La piattaforma comunica con il micro servizio tramite client Oauth 2<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: openlogin
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.comune.bugliano.pi.it/authorize
      url_access_token: https://login.comune.bugliano.pi.it/token
      url_resource_owner_details: https://login.comune.bugliano.pi.it/api/profile
      url_logout: https://login.comune.bugliano.pi.it/logout?redirect=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma\
**login.comune.bugliano.pi.it** è una url di esempio di un'istanza sul micro servizio [OpenLogin](https://docs.opencityitalia.it/sviluppatori-e-partner-tecnologici/integrazioni/single-sign-on/sso-mediante-oauth2)

### My Civis

<table><thead><tr><th width="152">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione [My Civis](https://my.civis.bz.it/public/it/) sviluppato dalla Provincia Autonoma di Bolzano<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_siag
    siag_base_url: https://mycivis-server.it
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma\
**mycivis-server.it** è una url di esempio del sistema di autenticazione My Civis

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma

### Siag (MyCivis) OIDC

<table><thead><tr><th width="152">SPID L1/L2</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo di OIDC per interfacciarsi al sistema di autenticazione sviluppato da Siag in sostituzione di MyCivis<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: tndigit
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://https://testb2c01siag.b2clogin.com/..../oauth/authorize
      url_access_token: https://https://testb2c01siag.b2clogin.com/.../oauth/token
      url_resource_owner_details: null
      url_logout: https://https://testb2c01siag.b2clogin.com/.../endsession?post_logout_redirect_uri=https://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: null
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma

### Sirac

<table><thead><tr><th width="152">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>✅</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del micro servizio [Shibboleth Auth Proxy](https://docs.opencityitalia.it/installazione-e-manutenzione/integrazioni/autenticazioni) per interfacciarsi al sistema di autenticazione Sirac sviluppato dal Comune di Genova<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_pat
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma

### Deda login

<table><thead><tr><th width="152">SPID L1/L2</th><th>CNS</th><th>CIE L1</th><th>CIE L2</th><th>CIE L3</th><th>eIDAS</th></tr></thead><tbody><tr><td>✅</td><td>❌</td><td>❌</td><td>❌</td><td>❌</td><td>❌</td></tr></tbody></table>

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione Deda login sviluppato da [Dedagroup](https://www.deda.group/home)<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_deda
    deda_login_client_id: {client_id}
    deda_login_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma

### Microsoft Entra ID

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione [Microsoft Entra ID](https://www.microsoft.com/it-it/security/business/microsoft-entra).\
La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    login_route: login_oauth
    oauth:
      provider: microsoft-entra-id
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
      url_access_token: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
      url_resource_owner_details: https://graph.microsoft.com/v1.0/me/
      url_logout: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/logout?post_logout_redirect_uri=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma

## Operatori

Di seguito sono descritte le integrazioni supportate con sistemi di terze parti e non che possono essere configurate lato operatori.

Questi meccanismi di autenticazione abilitano il login alla risorsa esterna ma non si occupano della configurazione dei permessi dell'operatore appena entrato.\
La configurazione dei permessi è delegata all'intervento degli amministratori

### Microsoft Entra ID

Questo metodo di autenticazione sfrutta l'utilizzo del sistema di autenticazione [Microsoft Entra ID](https://www.microsoft.com/it-it/security/business/microsoft-entra).\
La piattaforma comunica tramite il sistema di autenticazione tramite client Oauth 2<br>

Le configurazioni necessarie da inserire nel file delle istanze per ogni singolo tenant sono:<br>

```yaml
instances:
  servizi.comune.bugliano.pi.it/lang:
    enable_backend_oauth: true
    backend_oauth:
      provider: microsoft-entra-id
      redirect_url: http://servizi.comune.bugliano.pi.it/lang/auth/login-oauth
      url_authorize: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize
      url_access_token: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token
      url_resource_owner_details: https://graph.microsoft.com/v1.0/me/
      url_logout: https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/logout?post_logout_redirect_uri=http://servizi.comune.bugliano.pi.it/lang
      client_id: {client_id}
      client_secret: {client_secret}
```

Dove:\
**servizi.comune.bugliano.pi.it** è una url di esempio di un'istanza della piattaforma


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.opencityitalia.it/installazione-e-manutenzione/integrazioni/autenticazioni.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
