Authentification JWT

www.altova.com Agrandir/Réduire tout Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Solutions de page web intégrée > Exemples >

Authentification JWT

L'exemple d'authentification JWT dans cette section modifie la page web de l'exemple de préconfiguration de la source de page dans la section précédente. Avec l'appel à la solution, nous avons aussi soumis le JWT. Veuillez noter que le JWT doit être soumis en tant que string (c'est à dire, avec des guillemets). Dans la liste de code ci-dessous, le JWT est marqué en bleu.

 

Les fichiers utilisés dans cet exemple sont JWT.html et jsonBooks.mtd. Tous deux se trouvent dans votre dossier MobileTogether (Mes) Documents : MobileTogetherDesignerExamples\Tutorials\EmbeddedWebpageSolutions.  Pour essayer les fichiers, déployer le fichier MTD sur votre serveur et activer l'authentification JWT dans les paramètres du serveur (voir section suivante ci-dessous). Si newuser n'est pas enregistré sur votre serveur, il sera importé automatiquement en tant qu'un utilisateur et le login fonctionnera. Néanmoins, vous devrez configurer des permissions afin que le conteneur de jsonBooks.mtd puisse être accédé. Le cas échéant, modifier le code HTML pour que le flux de travail correct soit ciblé.

 

Le JWT dans ce fichier d'exemple a été créé dans la revendication Public défini pour www.altova.com et la revendication Sujet (qui spécifie le nom de l'utilisateur) défini pour newuser. Le secret utilisé pour générer ce JWT est gQkhVQPKkNYts3CraUsmmF6RyEvTCFnt.

 

Paramètre de serveur

Pour que le serveur puisse décrypter et vérifier le JWT envoyé par la page web, l'authentification JWT doit être activée dans les paramètres de serveur (capture d'écran ci-dessous) avec les deux paramètres suivants :

 

Le secret utilisé pour générer le JWT : gQkhVQPKkNYts3CraUsmmF6RyEvTCFnt
La valeur de la revendication Public qui a été utilisée pour générer le JWT : www.altova.com

MTDEWSExJWT01

Note :En outre, ne pas oublier de configurer des permissions afin que le conteneur de jsonBooks.mtd puisse être accédé par newuser.

 

Liste de code HTML

La liste de code HTML du fichier JWT.html.  Le JWT est marqué en bleu. Veuillez noter que certaines fonctionnalités JavaScript utilisées dans cet exemple ne sont pas toujours disponibles dans tous les navigateurs. Dans ce cas, veuillez modifier le JavaScript pour l'adapter à votre navigateur.

 

Liste de code de la page web

 

<!DOCTYPE html>

<html>

   <head>

      <style>

         * {

            font-family: Segoe UI, Tahoma, Arial, Helvetica, sans-serif;

         }

         iframe {

            width: 100%;

            height: 400px;

            border: 2px solid blue;

            border-radius: 5px;

            margin: 10px 0px;

         }

         code {

            font-size: small;

         }

      </style>

      <script src="http://localhost:8083/js4.0/WebAppIFrame.js"></script>

      <script>

         // The initial book list stored in a variable in JSON format

          var books = {

               "books": [

                  {

                     "author": "Mary Shelley",

                     "title": "Frankenstein; or, The Modern Prometheus",

                     "year": 1818,

                     "pages": 280

                  },

                  {

                     "author": "Bram Stoker",

                     "title": "Dracula",

                     "year": 1897,

                     "pages": 302

                  }

               ]

            };                                                                          

         

          // Contents of variable 'books' converted to string and displayed inside HTML element CODE

          function showbooks() {

              document.querySelector('code').innerText = JSON.stringify(books, null, ' ');

           }

 

           // m = HTML message event; data = container for message from server

           // m.data.json = contents of the 'json' object that was sent from the server

        function receivebooks(m) {

              books = m.data.json;

              showbooks();

           }

         

           // Handler to show books in webpage on page load

          document.addEventListener('DOMContentLoaded', showbooks);

 

            // Handler to receive messages from server via solution in IFrame

            window.addEventListener('message', receivebooks);

 

           // Handler to send data to IFrame on page load

          document.addEventListener('DOMContentLoaded', function() {

               var embedded = new WebAppIFrame(document.querySelector('iframe'));                                

               embedded.start('http://localhost:8083/run?d=/public/jsonBooks', books, 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE1MDE4MzU4MzUsImV4cCI6MTUzMzM3MTgzNSwiYXVkIjoid3d3LmFsdG92YS5jb20iLCJzdWIiOiJuZXd1c2VyIiwiR2l2ZW5OYW1lIjoiSm9obm55IiwiU3VybmFtZSI6IlJvY2tldCIsIkVtYWlsIjoianJvY2tldEBleGFtcGxlLmNvbSIsIlJvbGUiOlsiTWFuYWdlciIsIlByb2plY3QgQWRtaW5pc3RyYXRvciJdfQ.M66SBrP_U30iQeheQWpPTdaBzsJZqK2L7BJQ8gKP-Lo');

            });

    </script>

  </head>

 

 

  <body>

     <h4>An editable list of books in JSON format</h4>

     <h5>The book list, stored as a JSON object in the webpage:</h5>

     <pre><code><!-- The SHOWBOOKS function displays the book list here --></code></pre>

    <h5>The book list is displayed in the Iframe as soon as the HTML page is opened.</h5>

    <iframe frameborder="0"></iframe>

  </body>

 

 

</html>

 

 


© 2019 Altova GmbH