トークンの取得

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

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

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

TokenManagerService Web サービスは、2 種類のトークンを発行できます。トークンの種類は次のとおりです。

  • セッション トークン
  • オープン トークン

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

セッション トークンは、ユーザ セッションに関連付けられており、トークンを要求したコンピュータしか使用できません。セッションに関連付けられているため、セッションで操作のない状態が 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 ユーザ名。ユーザ名は、情報として返されるだけで、トークンを使用する時には必要ありません。

オープン トークンの取得

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

重要: 有効期限のないオープン トークンは使用しないでください。オープン トークンが承認されていない第三者によって取得されると、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 ユーザ名。ユーザ名は、情報として返されるだけで、トークンを使用する時には必要ありません。