セッションID
REST APIを使用してIDMC組織にログインすると、loginリソースはREST APIセッションIDを返します。このセッションIDは、セッション中、後続のほとんどのREST API要求に含めます。
組織管理者は次のいずれかの認証タイプを使用するように組織を設定できます。
- •セッションID。組織でセッションID認証タイプを使用する場合は、セッションベースの認証が使用されます。セッションIDは、30分間の非アクティブ状態の後で期限切れになります。ネットワークまたは予期しない遅延を考慮して、最大2分間の猶予期間が含まれる場合があります。
- •JSON Webトークン(JWT)。組織がJSON Webトークン(JWT)による認証タイプを使用している場合、ログイン応答内に返されるセッションID値はJWTの値になります。カスタムスクリプトを使用する場合は、中断を避けるために、JWTの有効期限が切れる前にスクリプトが自動再認証を処理するようにしてください。詳細については、JWT Supportに関するKnowledgeの記事を参照してください。
ログイン要求以外のすべてのAPI要求のヘッダーには、セッションIDを含めます。セッションIDの最大文字数は、JWTの値に対応するため16,000文字です。
ヘッダーに含める属性名は、リソースによって異なります。
- •REST APIバージョン2のリソースの場合は、ヘッダー内で、セッションIDの値を保持するicSessionId属性を使用します。
- •REST APIバージョン3のリソースの場合は、ヘッダー内で、セッションIDの値を保持するINFA-SESSION-ID属性を使用します。
- •その他のリソースの場合は、ヘッダー内で、セッションIDの値を保持するIDS-SESSION-ID属性を使用します。
次の例は、REST APIバージョン2呼び出しのヘッダーにicSessionIdを使用する方法を示しています。
GET https://app.informaticacloud.com/saas/api/v2/licenseInfo/org/<id>
Content-Type: application/xml
Accept: application/xml
icSessionId: <session ID>
次の例は、REST APIバージョン3呼び出しのヘッダーにINFA-SESSION-IDを使用する方法を示しています。
GET https://app.informaticacloud.com/saas/public/core/v3/license/org/{orgId}
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SABC1
POST要求を送信すると、セッションIDのステータスを確認できます。
次のURIを使用して要求を送信します。
/api/v2/user/validSessionId
要求に次の属性を含めます。
- •userName。IDMCユーザー名。
- •icToken。組織でセッションID認証タイプを使用する場合は、セッションIDを含めます。組織がJWT認証タイプを使用する場合は、JWTの値を含めます。
例えば、次の要求を使用できます。
POST https://app.informaticacloud.com/saas/api/v2/user/validSessionId
Content-Type: application/json
Accept: application/json
{
"@type": "validatedToken",
"userName": "user@informatica.com",
"icToken": "9KA11tLGqxVcGeul8SABC1"
}
応答では、セッションIDが有効かどうかと、セッションIDの有効期限までの時間(分単位)が返されます。例えば、次の応答を受信します。
{
"@type": "validatedToken",
"timeUntilExpire": 29,
"isValidToken": true
}
注: セッションまたはJWTがあと1分未満に期限切れになる場合、timeUntilExpire値は「0」に変わります。セッションまたはJWTの有効期限が切れると、isValidTokenの値が「false」に変わります。認証失敗のリスクを回避するには、timeUntilExpire値が0に変わったときに再認証してください。