トークンの取得

トークンを取得するには、TokenManagerServiceサーバー上のSpectrum™ Technology Platform Web サービスに要求を送信します。TokenManagerServiceWSDL には、次の URL でアクセスできます。

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

この Web サービスはベーシック認証を使用するため、有効な Spectrum™ Technology Platformユーザ名とパスワードを要求に含める必要があります。

TokenManagerServiceWeb サービスは、3 種類のトークンを発行できます。トークンの種類は、セキュリティの高い順に以下のとおりです。

  • セッション トークン
  • クライアント トークン
  • オープン トークン

セッション トークンの取得

セッション トークンは、ユーザ セッションに関連付けられており、トークンを要求したコンピュータしか使用できません。セッションに関連付けられているため、セッションで操作のない状態が 30 分間続くと、このトークンは無効になります。セッション トークンは最もセキュリティが高く、Spectrum™ Technology Platformの認証に使用するトークンとして推奨されます。

TokenManagerServiceには、セッション トークンを取得するための 2 つの SOAP 操作があります。

操作 説明

getAccessExpiringToken

トークンの有効期限を指定する場合は、この操作を使用します。サンプル要求を以下に示します。

<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>

要素 <tokenLifeInMinutes> は、トークンが失効するまでの時間 (分単位) を指定します。この値は、トークンの Time To Live とも呼ばれます。この例では、トークンは 60 分後に失効します。

応答のサンプルを以下に示します。

<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

失効しないトークンを取得する場合は、この操作を使用します。トークンが失効していなくても、セッションで操作のない状態が 30 分間続くとトークンは無効になることに注意してください。

サンプル要求を以下に示します。

<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>

応答のサンプルを以下に示します。

<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>

応答には、次の要素が含まれます。

token
セキュリティ トークン。
session
トークンが関連付けられているセッションのセッション ID。要求にセッション ID が含まれている場合のみ、トークンは受け付けられます。
username
トークンの取得に使用するSpectrum™ Technology Platformユーザ名。ユーザ名は、情報として返されるだけで、トークンを使用する時には必要ありません。

クライアント トークンの取得

クライアント トークンは、トークンを要求したコンピュータしか使用できないトークンです。このトークンはセッションに関連付けられていないため、セッションで操作のない状態が続いても無効にはなりません。

TokenManagerServiceには、クライアント トークンを取得するための 2 つの SOAP 操作があります。

操作 説明

getAccessRemoteHostExpiringToken

トークンの有効期限を指定する場合は、この操作を使用します。サンプル要求を以下に示します。

<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:getAccessRemoteHostExpiringToken>
         <tokenLifeInMinutes>60</tokenLifeInMinutes>
      </tok:getAccessRemoteHostExpiringToken>
   </soapenv:Body>
</soapenv:Envelope>

要素 <tokenLifeInMinutes> は、トークンが失効するまでの時間 (分単位) を指定します。この値は、トークンの Time To Live とも呼ばれます。この例では、トークンは 60 分後に失効します。

応答のサンプルを以下に示します。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:getAccessRemoteHostExpiringTokenResponse
      xmlns:ns2="http://token.security.common.server.platform.spectrum.pb.com/">
         <return>
            <session>f72d74f1-a1b5-4b96-a245-96ab98ba68f7</session>
            <token>eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..OFprbGnMX-CWNoN</token>
            <username>eli5543</username>
         </return>
      </ns2:getAccessRemoteHostExpiringTokenResponse>
   </soap:Body>
</soap:Envelope>

getAccessRemoteHostToken

失効しないトークンを取得する場合は、この操作を使用します。サンプル要求を以下に示します。

<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:getAccessRemoteHostToken/>
   </soapenv:Body>
</soapenv:Envelope>

応答のサンプルを以下に示します。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:getAccessRemoteHostTokenResponse
      xmlns:ns2="http://token.security.common.server.platform.spectrum.pb.com/">
         <return>
            <session>bd0b4faa-779d-4975-936a-0e31f36e9e4a</session>
            <token>eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..ZtcP6SkzLbbgFaqy6BSC_A.</token>
            <username>titus2221</username>
         </return>
      </ns2:getAccessRemoteHostTokenResponse>
   </soap:Body>
</soap:Envelope>

応答には、次の要素が含まれます。

token
セキュリティ トークン。
username
トークンの取得に使用するSpectrum™ Technology Platformユーザ名。ユーザ名は、情報として返されるだけで、トークンを使用する時には必要ありません。

オープン トークンの取得

オープン トークンは、ユーザにも特定のコンピュータにも関連付けられていません。これは、最もセキュリティの低いトークンです。

重要: オープン トークンはめったに使ってはいけません。オープン トークンが承認されていない第三者によって取得されると、Spectrum™ Technology Platformサーバーへのアクセスに任意のコンピュータから無期限に使用される恐れがあります。

TokenManagerServiceには、オープン トークンを取得するための 1 つの SOAP 操作があります。

操作 説明

getAccessToken

この操作を使用してオープン トークンを取得します。サンプル要求を以下に示します。

<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>

応答のサンプルを以下に示します。

<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>

応答には、次の要素が含まれます。

token
セキュリティ トークン。
username
トークンの取得に使用するSpectrum™ Technology Platformユーザ名。ユーザ名は、情報として返されるだけで、トークンを使用する時には必要ありません。