From 3e10ff259f718718231b8bf66b70248f6b5ff289 Mon Sep 17 00:00:00 2001
From: Andrea Ranaldi <andrea.ranaldi@gmail.com>
Date: Wed, 11 Aug 2021 15:31:01 +0200
Subject: [PATCH 1/3] Updated MarkupSafe, fix #33

---
 requirements.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/requirements.txt b/requirements.txt
index f3d487e1..b6f27562 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,7 +17,7 @@ importlib-metadata==1.5.0
 jinja2>=2.11.3
 ldap3==2.7
 Mako==1.1.2
-MarkupSafe==1.1.1
+MarkupSafe==2.0.1
 more-itertools==8.2.0
 oic==1.2.1
 packaging==20.1

From 8d130ae9ed8b005f708499c4f07bace43cb937d1 Mon Sep 17 00:00:00 2001
From: Andrea Ranaldi <andrea.ranaldi@gmail.com>
Date: Wed, 11 Aug 2021 15:38:39 +0200
Subject: [PATCH 2/3] reindent templates, removed unclosed p tag, fix #38

---
 example/templates/spid_base.html        | 618 ++++++++++++------------
 example/templates/spid_login_error.html |  26 +-
 2 files changed, 321 insertions(+), 323 deletions(-)

diff --git a/example/templates/spid_base.html b/example/templates/spid_base.html
index b8b7a4b6..e7d40f14 100644
--- a/example/templates/spid_base.html
+++ b/example/templates/spid_base.html
@@ -1,360 +1,360 @@
 <!DOCTYPE html>
 <html lang="it">
-    <head>
-        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-        <!-- Required meta tags -->
-        <meta charset="utf-8">
-        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-        <!-- Page details -->
+  <head>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+    <!-- Required meta tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <!-- Page details -->
 
-        {% block page_title %}{% endblock page_title %}
+    {% block page_title %}{% endblock page_title %}
 
-        <meta name="description" content="Bootstrap Italia">
-        <!-- CSS -->
-        <link rel="stylesheet" href="{{ static }}spid/bootstrap-italia.css">
-        <!-- Extra CSS/Javascript -->
+    <meta name="description" content="Bootstrap Italia">
+    <!-- CSS -->
+    <link rel="stylesheet" href="{{ static }}spid/bootstrap-italia.css">
+    <!-- Extra CSS/Javascript -->
 
-        <link rel="shortcut icon" href="{{ static }}spid/favicon-32x32.png">
+    <link rel="shortcut icon" href="{{ static }}spid/favicon-32x32.png">
 
-        <link type="text/css" rel="stylesheet" href="{{ static }}spid/spid-sp-access-button.css">
+    <link type="text/css" rel="stylesheet" href="{{ static }}spid/spid-sp-access-button.css">
 
-        {% block extra_head %} {% endblock %}
+    {% block extra_head %} {% endblock %}
 
-    </head>
-    <body>
+  </head>
+  <body>
 
-        <div class="it-header-wrapper">
+    <div class="it-header-wrapper">
 
-            <!-- Top row in header -->
+      <!-- Top row in header -->
 
-            <div class="it-header-slim-wrapper">
-                <div class="container">
-                    <div class="row">
-                        <div class="col-12">
-                            <div class="it-header-slim-wrapper-content">
-                                <a class="d-none d-lg-block navbar-brand" href="/">
+      <div class="it-header-slim-wrapper">
+	<div class="container">
+	  <div class="row">
+	    <div class="col-12">
+	      <div class="it-header-slim-wrapper-content">
+		<a class="d-none d-lg-block navbar-brand" href="/">
 
-Nome Organizzazione
+		  Nome Organizzazione
 
-                                </a>
-                                <div class="nav-mobile">
-                                    <nav>
-                                        <a class="it-opener d-lg-none" data-toggle="collapse" href="#menu-principale" role="button" aria-expanded="false" aria-controls="menu-principale">
-                                            <span>
+		</a>
+		<div class="nav-mobile">
+		  <nav>
+		    <a class="it-opener d-lg-none" data-toggle="collapse" href="#menu-principale" role="button" aria-expanded="false" aria-controls="menu-principale">
+		      <span>
 
-Nome Organizzazione
+			Nome Organizzazione
 
-                                            </span>
+		      </span>
 
-                                        </a>
+		    </a>
 
-                                    </nav>
-                                </div>
+		  </nav>
+		</div>
 
 
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
+	      </div>
+	    </div>
+	  </div>
+	</div>
+      </div>
 
 
-            <div class="it-nav-wrapper">
-                <div class="it-header-center-wrapper">
-                    <div class="container">
-                        <div class="row">
-                            <div class="col-12">
-                                <div class="it-header-center-content-wrapper">
-                                    <!-- Logo -->
-                                    <div class="it-brand-wrapper">
-                                        <a href="/">
+      <div class="it-nav-wrapper">
+	<div class="it-header-center-wrapper">
+	  <div class="container">
+	    <div class="row">
+	      <div class="col-12">
+		<div class="it-header-center-content-wrapper">
+		  <!-- Logo -->
+		  <div class="it-brand-wrapper">
+		    <a href="/">
 
-<div class="col-10 col-md-12 offset-1 offset-md-0">
-    <img src="{{ static }}spid/logo.jpg" style="width: 10%;" alt="SPID Logo">
-</div>
+		      <div class="col-10 col-md-12 offset-1 offset-md-0">
+			<img src="{{ static }}spid/logo.jpg" style="width: 10%;" alt="SPID Logo">
+		      </div>
 
 
-                                            <div class="it-brand-text">
-                                                <h2 class="no_toc">
+		      <div class="it-brand-text">
+			<h2 class="no_toc">
 
 
 
-                                                </h2>
-                                                <h3 class="no_toc d-none d-md-block">
+			</h2>
+			<h3 class="no_toc d-none d-md-block">
 
 
 
-                                                </h3>
-                                            </div>
-                                        </a>
-                                    </div>
+			</h3>
+		      </div>
+		    </a>
+		  </div>
 
-                                    <!-- Social and Search -->
+		  <!-- Social and Search -->
 
-                                    <div class="it-right-zone">
+		  <div class="it-right-zone">
 
 
 
 
 
-                                    </div>
+		  </div>
 
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
+		</div>
+	      </div>
+	    </div>
+	  </div>
+	</div>
 
-                <!-- Main menu -->
+	<!-- Main menu -->
 
-<div class="it-header-navbar-wrapper">
-    <div class="container">
-        <div class="row">
-            <div class="col-12">
-                <nav class="navbar navbar-expand-lg has-megamenu">
-                    <button class="custom-navbar-toggler" type="button" aria-controls="nav10" aria-expanded="false" aria-label="Toggle navigation" data-target="#nav10">
-                        <svg class="icon">
-			  <use xlink:href="{{ static }}spid/svg/sprite.svg#it-burger"></use>
-                        </svg>
-                    </button>
-                    <div class="navbar-collapsable" id="nav10">
-                        <div class="overlay"></div>
-                        <div class="close-div sr-only">
-                            <button class="btn close-menu" type="button"><span class="it-close"></span>close</button>
-                        </div>
-                        <div class="menu-wrapper">
-                            <ul class="navbar-nav">
+	<div class="it-header-navbar-wrapper">
+	  <div class="container">
+	    <div class="row">
+	      <div class="col-12">
+		<nav class="navbar navbar-expand-lg has-megamenu">
+		  <button class="custom-navbar-toggler" type="button" aria-controls="nav10" aria-expanded="false" aria-label="Toggle navigation" data-target="#nav10">
+		    <svg class="icon">
+		      <use xlink:href="{{ static }}spid/svg/sprite.svg#it-burger"></use>
+		    </svg>
+		  </button>
+		  <div class="navbar-collapsable" id="nav10">
+		    <div class="overlay"></div>
+		    <div class="close-div sr-only">
+		      <button class="btn close-menu" type="button"><span class="it-close"></span>close</button>
+		    </div>
+		    <div class="menu-wrapper">
+		      <ul class="navbar-nav">
 
-                                <li class="nav-item active"><a class="nav-link active" href="#">
-                                    <span>Pagina principale</span>
-                                    <span class="sr-only">current</span></a></li>
+			<li class="nav-item active"><a class="nav-link active" href="#">
+			    <span>Pagina principale</span>
+			    <span class="sr-only">current</span></a></li>
 
 
 
-                                <li class="nav-item dropdown">
-                                    <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-expanded="false">
-                                        <span>Domande frequenti</span>
-                                        <svg class="icon icon-xs">
-					  <use xlink:href="{{ static }}spid/svg/sprite.svg#it-expand"></use>
-                                        </svg>
-                                    </a>
-                                    <div class="dropdown-menu">
-                                        <div class="link-list-wrapper">
-                                            <ul class="link-list">
-                                                <li>
-                                                    <h3 class="no_toc" id="heading">Questo servizio</h3>
-                                                </li>
-                                                <li><a class="list-item" href=""><span>Assistenza</span></a></li>
-                                                <li><span class="divider"></span></li>
-                                                <li>
-                                                    <h3 class="no_toc" id="heading">SPID</h3>
-                                                </li>
-                                                <li class="spid-idp-support-link">
-                                                    <a class="list-item" href="https://www.spid.gov.it/">Maggiori informazioni</a>
-                                                </li>
-                                                <li class="spid-idp-support-link">
-                                                    <a class="list-item" href="https://www.spid.gov.it/richiedi-spid">Non hai SPID?</a>
-                                                </li>
-                                                <li class="spid-idp-support-link">
-                                                    <a class="list-item" href="https://www.spid.gov.it/serve-aiuto">Serve aiuto?</a>
-                                                </li>
-
-
-                                            </ul>
-                                        </div>
-                                    </div>
-                                </li>
-                            </ul>
-                        </div>
-                    </div>
-                </nav>
-            </div>
-        </div>
-    </div>
-</div>
-
-            </div>
-        </div>
-
-
-
-
-        <!-- Container - Body of page-->
-        <div class="main-body">
-            <div class="container">
-                {%  block container %} {% endblock %}
-            </div>
-        </div>
-
-        <!-- Footer -->
-
-        <footer class="it-footer">
-            <div class="it-footer-main">
-                <div class="container">
-
-                    <section>
-                        <div class="row clearfix">
-                            <div class="col-sm-12">
-                                <div class="it-brand-wrapper">
-                                    <a href="#">
-
-<img class="icon" src="{{ static }}spid/logo.jpg">
-
-
-                                        <div class="it-brand-text">
-                                            <h2 class="no_toc">
-
-Nome Organizzazione
-
-                                            </h2>
-                                            <h3 class="no_toc d-none d-md-block">
-
-lorem ipsum
-
-                                            </h3>
-                                        </div>
-
-                                    </a>
-                                </div>
-                            </div>
-                        </div>
-                    </section>
-
-
-                    <!-- Footer middle section with menu blocks -->
-
-
-
-                    <!-- Footer bottom section with contacts -->
-
-<section class="py-4 border-white border-top">
-    <div class="row">
-        <div class="col-lg-4 col-md-4 pb-2">
-            <h4><a href="#" title="Vai alla pagina: Contatti">Contatti</a></h4>
-            <p>
-                <strong>Nome Organizzazione</strong>
-                <br>
-                via Tal dei Tali 00000 Città, Provincia
-                <br>
-                Codice Fiscale 2384762384623894 - Tel. (+39) xxxx yyyyyy
-            </p>
-            <div class="link-list-wrapper">
-                <ul class="footer-list link-list clearfix">
-                    <li>
-                        <a class="list-item" href="https://www.example.org/contacts/" title="Vai alla pagina: Posta Elettronica Certificata">
-                           Posta Elettronica Certificata
-                        </a>
-                    </li>
-                    <li>
-                        <a class="list-item" href="https://www.example.org/fatturazione" title="Vai alla pagina: Fatturazione elettronica">
-                           Fatturazione Elettronica
-                        </a>
-                    </li>
-                </ul>
-            </div>
-        </div>
-        <div class="col-lg-4 col-md-4 pb-2">
-            <h4><a href="#" title="Vai alla pagina: Lorem Ipsum">Link Utili</a></h4>
-            <div class="link-list-wrapper">
-                <ul class="footer-list link-list clearfix">
-                    <li>
-                        <a class="list-item" href="https://www.example.org/search_phone" title="Vai alla pagina: Contatti/cerca persone">
-                           Contatti/cerca persone
-                        </a>
-                    </li>
-                    <li>
-                        <a class="list-item" href="https://www.example.org/amministrazione/" title="Vai alla pagina: Contatti amministrazione">
-                           Contatti amministrazione
-                        </a>
-                    </li>
-                    <li>
-                        <a class="list-item" href="https://www.example.org/" title="Vai alla pagina: Contatti servizi">
-                           Contatti servizi
-                        </a>
-                    </li>
-                    <li>
-                        <a class="list-item" href="https://example.portaleamministrazionetrasparente.it/" title="Vai alla pagina: PAT - Portale amministrazione trasparente">
-                           PAT - Portale amministrazione trasparente
-                        </a>
-                    </li>
-                </ul>
-            </div>
-        </div>
-        <div class="col-lg-4 col-md-4 pb-2">
-            <div class="pb-2">
-                <h4><a href="#" title="Vai alla pagina: Seguici su">Seguici su</a></h4>
-                <ul class="list-inline text-left social">
-                    <li class="list-inline-item">
-                        <a class="p-2 text-white" href="https://it-it.facebook.com/pages/example" target="_blank">
-                            <svg class="icon icon-sm icon-white align-top">
-			      <use xlink:href="{{ static }}spid/svg/sprite.svg#it-facebook"></use>
-                            </svg><span class="sr-only">Facebook</span>
-                        </a>
-                    </li>
-                    <li class="list-inline-item">
-                        <a class="p-2 text-white" href="https://twitter.com/example" target="_blank">
-                            <svg class="icon icon-sm icon-white align-top">
-			      <use xlink:href="{{ static }}spid/svg/sprite.svg#it-twitter"></use>
-                            </svg><span class="sr-only">Twitter</span>
-                        </a>
-                    </li>
-                    <li class="list-inline-item">
-                        <a class="p-2 text-white" href="https://www.instagram.com/example/" target="_blank">
-                            <svg class="icon icon-sm icon-white align-top">
-			      <use xlink:href="{{ static }}spid/svg/sprite.svg#it-instagram"></use>
-                            </svg><span class="sr-only">Instagram</span>
-                        </a>
-                    </li>
-                    <li class="list-inline-item">
-                        <a class="p-2 text-white" href="https://www.youtube.com/example" target="_blank">
-                            <svg class="icon icon-sm icon-white align-top">
-			      <use xlink:href="{{ static }}spid/svg/sprite.svg#it-youtube"></use>
-                            </svg><span class="sr-only">YouTube</span>
-                        </a>
-                    </li>
-                </ul>
-            </div>
-            <div class="pb-2">
-                <h4><a href="#" title="Vai alla pagina: Newsletter">Newsletter</a></h4>
-                <p>Form Newsletter</p>
-            </div>
-        </div>
-    </div>
-</section>
-
-                </div>
-            </div>
-
+			<li class="nav-item dropdown">
+			  <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-expanded="false">
+			    <span>Domande frequenti</span>
+			    <svg class="icon icon-xs">
+			      <use xlink:href="{{ static }}spid/svg/sprite.svg#it-expand"></use>
+			    </svg>
+			  </a>
+			  <div class="dropdown-menu">
+			    <div class="link-list-wrapper">
+			      <ul class="link-list">
+				<li>
+				  <h3 class="no_toc" id="heading">Questo servizio</h3>
+				</li>
+				<li><a class="list-item" href=""><span>Assistenza</span></a></li>
+				<li><span class="divider"></span></li>
+				<li>
+				  <h3 class="no_toc" id="heading">SPID</h3>
+				</li>
+				<li class="spid-idp-support-link">
+				  <a class="list-item" href="https://www.spid.gov.it/">Maggiori informazioni</a>
+				</li>
+				<li class="spid-idp-support-link">
+				  <a class="list-item" href="https://www.spid.gov.it/richiedi-spid">Non hai SPID?</a>
+				</li>
+				<li class="spid-idp-support-link">
+				  <a class="list-item" href="https://www.spid.gov.it/serve-aiuto">Serve aiuto?</a>
+				</li>
+
+
+			      </ul>
+			    </div>
+			  </div>
+			</li>
+		      </ul>
+		    </div>
+		  </div>
+		</nav>
+	      </div>
+	    </div>
+	  </div>
+	</div>
 
-            <div class="it-footer-small-prints clearfix">
-                <div class="container">
-
-<h3 class="sr-only">Sezione Link Utili</h3>
-<ul class="it-footer-small-prints-list list-inline mb-0 d-flex flex-column flex-md-row">
-    <li class="list-inline-item">
-        <a href="/" title="Note Legali">
-           Note legali
-        </a>
-    </li>
-    <li class="list-inline-item">
-        <a href="https://www.example.org/privacy/" title="Protezione dei dati">
-           Protezione dei dati
-        </a>
-    </li>
-</ul>
-
-                </div>
-            </div>
+      </div>
+    </div>
 
-        </footer>
 
-        <script>window.__PUBLIC_PATH__ = "{{ static }}spid/fonts"</script>
-        <script src="{{ static }}spid/bootstrap-italia.js"></script>
 
-        <script src="{{ static }}spid/spid-sp-access-button.js"></script>
-        <script src="{{ static }}spid/spid_button.js"></script>
 
-        {% block extra_scripts %} {% endblock %}
+    <!-- Container - Body of page-->
+    <div class="main-body">
+      <div class="container">
+	{%  block container %} {% endblock %}
+      </div>
+    </div>
 
-    </body>
+    <!-- Footer -->
+
+    <footer class="it-footer">
+      <div class="it-footer-main">
+	<div class="container">
+
+	  <section>
+	    <div class="row clearfix">
+	      <div class="col-sm-12">
+		<div class="it-brand-wrapper">
+		  <a href="#">
+
+		    <img class="icon" src="{{ static }}spid/logo.jpg">
+
+
+		    <div class="it-brand-text">
+		      <h2 class="no_toc">
+
+			Nome Organizzazione
+
+		      </h2>
+		      <h3 class="no_toc d-none d-md-block">
+
+			lorem ipsum
+
+		      </h3>
+		    </div>
+
+		  </a>
+		</div>
+	      </div>
+	    </div>
+	  </section>
+
+
+	  <!-- Footer middle section with menu blocks -->
+
+
+
+	  <!-- Footer bottom section with contacts -->
+
+	  <section class="py-4 border-white border-top">
+	    <div class="row">
+	      <div class="col-lg-4 col-md-4 pb-2">
+		<h4><a href="#" title="Vai alla pagina: Contatti">Contatti</a></h4>
+		<p>
+		<strong>Nome Organizzazione</strong>
+		<br>
+		via Tal dei Tali 00000 Città, Provincia
+		<br>
+		Codice Fiscale 2384762384623894 - Tel. (+39) xxxx yyyyyy
+		</p>
+		<div class="link-list-wrapper">
+		  <ul class="footer-list link-list clearfix">
+		    <li>
+		      <a class="list-item" href="https://www.example.org/contacts/" title="Vai alla pagina: Posta Elettronica Certificata">
+			Posta Elettronica Certificata
+		      </a>
+		    </li>
+		    <li>
+		      <a class="list-item" href="https://www.example.org/fatturazione" title="Vai alla pagina: Fatturazione elettronica">
+			Fatturazione Elettronica
+		      </a>
+		    </li>
+		  </ul>
+		</div>
+	      </div>
+	      <div class="col-lg-4 col-md-4 pb-2">
+		<h4><a href="#" title="Vai alla pagina: Lorem Ipsum">Link Utili</a></h4>
+		<div class="link-list-wrapper">
+		  <ul class="footer-list link-list clearfix">
+		    <li>
+		      <a class="list-item" href="https://www.example.org/search_phone" title="Vai alla pagina: Contatti/cerca persone">
+			Contatti/cerca persone
+		      </a>
+		    </li>
+		    <li>
+		      <a class="list-item" href="https://www.example.org/amministrazione/" title="Vai alla pagina: Contatti amministrazione">
+			Contatti amministrazione
+		      </a>
+		    </li>
+		    <li>
+		      <a class="list-item" href="https://www.example.org/" title="Vai alla pagina: Contatti servizi">
+			Contatti servizi
+		      </a>
+		    </li>
+		    <li>
+		      <a class="list-item" href="https://example.portaleamministrazionetrasparente.it/" title="Vai alla pagina: PAT - Portale amministrazione trasparente">
+			PAT - Portale amministrazione trasparente
+		      </a>
+		    </li>
+		  </ul>
+		</div>
+	      </div>
+	      <div class="col-lg-4 col-md-4 pb-2">
+		<div class="pb-2">
+		  <h4><a href="#" title="Vai alla pagina: Seguici su">Seguici su</a></h4>
+		  <ul class="list-inline text-left social">
+		    <li class="list-inline-item">
+		      <a class="p-2 text-white" href="https://it-it.facebook.com/pages/example" target="_blank">
+			<svg class="icon icon-sm icon-white align-top">
+			  <use xlink:href="{{ static }}spid/svg/sprite.svg#it-facebook"></use>
+			</svg><span class="sr-only">Facebook</span>
+		      </a>
+		    </li>
+		    <li class="list-inline-item">
+		      <a class="p-2 text-white" href="https://twitter.com/example" target="_blank">
+			<svg class="icon icon-sm icon-white align-top">
+			  <use xlink:href="{{ static }}spid/svg/sprite.svg#it-twitter"></use>
+			</svg><span class="sr-only">Twitter</span>
+		      </a>
+		    </li>
+		    <li class="list-inline-item">
+		      <a class="p-2 text-white" href="https://www.instagram.com/example/" target="_blank">
+			<svg class="icon icon-sm icon-white align-top">
+			  <use xlink:href="{{ static }}spid/svg/sprite.svg#it-instagram"></use>
+			</svg><span class="sr-only">Instagram</span>
+		      </a>
+		    </li>
+		    <li class="list-inline-item">
+		      <a class="p-2 text-white" href="https://www.youtube.com/example" target="_blank">
+			<svg class="icon icon-sm icon-white align-top">
+			  <use xlink:href="{{ static }}spid/svg/sprite.svg#it-youtube"></use>
+			</svg><span class="sr-only">YouTube</span>
+		      </a>
+		    </li>
+		  </ul>
+		</div>
+		<div class="pb-2">
+		  <h4><a href="#" title="Vai alla pagina: Newsletter">Newsletter</a></h4>
+		  <p>Form Newsletter</p>
+		</div>
+	      </div>
+	    </div>
+	  </section>
+
+	</div>
+      </div>
+
+
+      <div class="it-footer-small-prints clearfix">
+	<div class="container">
+
+	  <h3 class="sr-only">Sezione Link Utili</h3>
+	  <ul class="it-footer-small-prints-list list-inline mb-0 d-flex flex-column flex-md-row">
+	    <li class="list-inline-item">
+	      <a href="/" title="Note Legali">
+		Note legali
+	      </a>
+	    </li>
+	    <li class="list-inline-item">
+	      <a href="https://www.example.org/privacy/" title="Protezione dei dati">
+		Protezione dei dati
+	      </a>
+	    </li>
+	  </ul>
+
+	</div>
+      </div>
+
+    </footer>
+
+    <script>window.__PUBLIC_PATH__ = "{{ static }}spid/fonts"</script>
+    <script src="{{ static }}spid/bootstrap-italia.js"></script>
+
+    <script src="{{ static }}spid/spid-sp-access-button.js"></script>
+    <script src="{{ static }}spid/spid_button.js"></script>
+
+    {% block extra_scripts %} {% endblock %}
+
+  </body>
 </html>
diff --git a/example/templates/spid_login_error.html b/example/templates/spid_login_error.html
index ef45f092..20ec8c55 100644
--- a/example/templates/spid_login_error.html
+++ b/example/templates/spid_login_error.html
@@ -1,21 +1,19 @@
 {% extends 'spid_base.html' %}
-
-{% block page_title %}
+  {% block page_title %}
     <title>
-        Errore SPID
+      Errore SPID
     </title>
-{% endblock page_title %}
+  {% endblock page_title %}
 
 {% block container %}
-    <div class="callout danger">
-        <div class="callout-title">
-            Errore di autenticazione
-        </div>
-        <p>
-            <p>{{ message }}</p>
-            {% if troubleshoot %}
-                <p>{{ troubleshoot }}</p>
-            {% endif %}
-        </p>
+  <div class="callout danger">
+    <div class="callout-title">
+      Errore di autenticazione
     </div>
+    <p>{{ message }}</p>
+    {% if troubleshoot %}
+      <p>{{ troubleshoot }}</p>
+    {% endif %}
+    </p>
+  </div>
 {% endblock %}

From 8bcfb5038fff72eaf616cd46aadaf93de4bd188f Mon Sep 17 00:00:00 2001
From: Andrea Ranaldi <andrea.ranaldi@gmail.com>
Date: Wed, 11 Aug 2021 15:44:24 +0200
Subject: [PATCH 3/3] Added SPID and AGID logos, fix #37

---
 example/static/disco.html                 |   1 +
 example/static/spid/spid-agid-logo-lb.png | Bin 0 -> 6011 bytes
 2 files changed, 1 insertion(+)
 create mode 100644 example/static/spid/spid-agid-logo-lb.png

diff --git a/example/static/disco.html b/example/static/disco.html
index 63502d49..bc5861d2 100644
--- a/example/static/disco.html
+++ b/example/static/disco.html
@@ -270,6 +270,7 @@ <h4 class="">Benvenuto in Nome Organizzazione Spid Discovery Service</h4>
               </div>
             </div>
           </div>
+	  <p class="text-center"><img src="spid/spid-agid-logo-lb.png", alt="logo SPID e AGID"></p>
         </div>
       </div>
     </div>
diff --git a/example/static/spid/spid-agid-logo-lb.png b/example/static/spid/spid-agid-logo-lb.png
new file mode 100644
index 0000000000000000000000000000000000000000..44b841623f0d0aed40e5de7e8d9ffbb225f5e3fc
GIT binary patch
literal 6011
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

literal 0
HcmV?d00001