Obtention d'un jeton

Pour obtenir un jeton, envoyez une requête auprès du service Web TokenManagerService sur le serveur Spectrum™ Technology Platform. Vous pouvez accéder au WSDL TokenManagerService ici :

http://server:port/security/TokenManagerService?wsdl

Ce service Web utilise l'authentification de base ; vous devez donc inclure un nom d'utilisateur et un mot de passe Spectrum™ Technology Platform valides dans la requête.

Le service Web TokenManagerService peut émettre deux types de jeton. Les types de jeton sont les suivants :

  • Jeton de session
  • Jeton ouvert

Obtention d'un jeton de session

Un jeton de session est lié à une session utilisateur et ne peut être utilisé que par l'ordinateur qui a demandé le jeton. Dans la mesure où il est lié à une session, le jeton n'est plus valide si la session reste inactive pendant 30 minutes. Un jeton de session est le type de jeton le plus sécurisé. Il est recommandé pour s'authentifier auprès de Spectrum™ Technology Platform.

TokenManagerService comporte deux opérations SOAP pour l'obtention d'un jeton de session.

Opération Description

getAccessExpiringToken

Utilisez cette opération si vous souhaitez spécifier un délai d'expiration pour le jeton. Voici un exemple de requête :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:tok="http://token.security.common.server.platform.spectrum.pb.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <tok:getAccessExpiringToken>
         <tokenLifeInMinutes>60</tokenLifeInMinutes>
      </tok:getAccessExpiringToken>
   </soapenv:Body>
</soapenv:Envelope>

L'élément <tokenLifeInMinutes> spécifie le nombre de minutes jusqu'à l'expiration du jeton, également connu sous le nom de durée de vie du jeton. Dans cet exemple, le jeton expire dans 60 minutes.

Voici un exemple de réponse :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:getAccessExpiringTokenResponse
       xmlns:ns2="http://token.security.common.server.platform.spectrum.pb.com/">
         <return>
            <session>ebd7904b-07f6-15c9-82e4-71589131eb01</session>
            <token>eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..2pZB3qgpdC96xfOIPg9</token>
            <username>simon0897</username>
         </return>
      </ns2:getAccessExpiringTokenResponse>
   </soap:Body>
</soap:Envelope>

getAccessSessionToken

Utilisez cette opération si vous souhaitez obtenir un jeton qui n'expire pas. Notez que le jeton devient toujours non valide si la session reste inactive pendant 30 minutes, même si le jeton n'a pas expiré.

Voici un exemple de requête :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:tok="http://token.security.common.server.platform.spectrum.pb.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <tok:getAccessSessionToken/>
   </soapenv:Body>
</soapenv:Envelope>

Voici un exemple de réponse :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:getAccessSessionTokenResponse
      xmlns:ns2="http://token.security.common.server.platform.spectrum.pb.com/">
         <return>
            <session>65822c9b-362e-2e0e-a02a-a50a1a761323</session>
            <token>eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..CEE-C1VjKTha</token>
            <username>simon0897</username>
         </return>
      </ns2:getAccessSessionTokenResponse>
   </soap:Body>
</soap:Envelope>

La réponse contient les éléments suivants :

token
Jeton de sécurité.
session
ID de session de la session à laquelle le jeton est lié. Le jeton n'est accepté que si cet ID de session est inclus dans la requête. Si vous exécutez une application JavaScript, vous devez inclure un en-tête de requête Web withCredentials: true pour vous assurer que l'ID de session est transmis sur toutes les requêtes.
username
Nom d'utilisateur Spectrum™ Technology Platform utilisé pour obtenir le jeton. Le nom d'utilisateur est renvoyé uniquement à titre d'information et n'est pas nécessaire lorsque vous utilisez le jeton.

Obtention d'un jeton ouvert

Un jeton ouvert n'est pas lié à un utilisateur ni à un ordinateur spécifique. Il s'agit du type de jeton le moins sécurisée.

Important : Évitez d’utiliser des jetons ouverts qui n’expirent pas. Si un jeton ouvert est obtenu par un tiers non autorisé, le jeton peut être utilisé indéfiniment et à partir de n'importe ordinateur pour accéder à votre serveur Spectrum™ Technology Platform.

TokenManagerService comporte une opération SOAP pour l'obtention d'un jeton ouvert.

Opération Description

getAccessToken

Utilisez cette opération pour obtenir un jeton ouvert. Voici un exemple de requête :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:tok="http://token.security.common.server.platform.spectrum.pb.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <tok:getAccessToken/>
   </soapenv:Body>
</soapenv:Envelope>

Voici un exemple de réponse :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:getAccessTokenResponse
      xmlns:ns2="http://token.security.common.server.platform.spectrum.pb.com/">
         <return>
            <token>eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..f4JwHB4qPs0l</token>
            <username>paul1234</username>
         </return>
      </ns2:getAccessTokenResponse>
   </soap:Body>
</soap:Envelope>

La réponse contient les éléments suivants :

token
Jeton de sécurité.
username
Nom d'utilisateur Spectrum™ Technology Platform utilisé pour obtenir le jeton. Le nom d'utilisateur est renvoyé uniquement à titre d'information et n'est pas nécessaire lorsque vous utilisez le jeton.