---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# RequestAuthAPI - スコープ指定

# RequestAuthAPI - スコープ指定 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：10分

RequestAuthAPI は、REST 要求に署名を適用するメソッドを提供します。  
次の順序でこれらの API を使用して、送信署名要求を生成します。

1. HttpRequestData：API 要求を構築します。
2. AuthCredential：資格情報オブジェクトを作成するか、既存のオブジェクトを更新します。資格情報を使用して、RequestAuthAPI クラスで要求に署名します。
3. RequestAuthAPI：要求に署名し、HttpRequestAuthedData オブジェクトを返します。
4. HttpRequestAuthedData：署名された要求に関する情報を取得します。
5. GlideHTTPRequest：署名された要求を送信します。
{#RequestAuthAPI__ol_gvv_22t_tjb}

これらの API を使用する前に、認証 [アルゴリズムを構成し](https://www.servicenow.com/docs/access?context=configure-authentication-algorithm&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US) て要求に署名し、要求の認証に使用する認証情報に関連付ける必要があります。

この API は、`sn_auth` 名前空間識別子を持つスコープ対象スクリプト内で使用します。

## RequestAuthAPI - RequestAuthAPI(オブジェクト data, オブジェクト credential) {#ariaid-title2}

REST 要求と資格情報を使用して RequestAuthAPI オブジェクトをインスタンス化します。
{#RequestAuthAPI-RequestAuthAPI_O_O__table_htv_rvv_5jb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| data | オブジェクト | 未署名の REST 要求を含む HttpRequestData オブジェクト。このオブジェクトを構築するには HttpRequestData クラスを使用します。[「HttpRequestData API](https://servicenow-prod.fluidtopics.net/su95sxx~5KyqaSpFg6tDHQ#HttpRequestDataAPI "HttpRequestData API は、署名を適用してエンドポイントに送信する前に REST 要求を構築および操作するためのメソッドを提供します。")」を参照してください。 |
| credential | オブジェクト | 資格情報 \[discovery_credentials\] テーブルのレコードを表すオブジェクト。このオブジェクトは AuthCredential クラスを使用して取得します。[「AuthCredential API](https://servicenow-prod.fluidtopics.net/ueEac3jnnygklNrWCh_Y3w#AuthCredentialAPI "AuthCredential() API は、REST 要求の資格情報を構築できるようにするメソッドを提供します。")」を参照してください。 |
[表 : 1. パラメーター]

{#RequestAuthAPI-RequestAuthAPI_O_O__table_htv_rvv_5jb}  

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
     // Get a credential record
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("88772d0d40990010f8772fdd9ebc8075");
     
    // Instantiate a RequestAuthAPI object
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);

## RequestAuthAPI - generateAuth() {#ariaid-title3}

HttpRequestData オブジェクトに署名して、REST 要求での送信に使用する HttpRequestAuthedData オブジェクトを返します。
{#RequestAuthAPI-generateAuth__table_uhw_sy4_5jb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 2. パラメーター]

{#RequestAuthAPI-generateAuth__table_uhw_sy4_5jb} {#RequestAuthAPI-generateAuth__table_vhw_sy4_5jb__entry__2}

| タイプ | 説明 |
|-|-|
| HttpRequestAuthedData | オブジェクト。署名済みの結果に関する情報を取得するために使用するデータ。署名済みの結果を操作するには、HttpRequestAuthedData クラスのメソッドを使用します。[「HttpRequestAuthedData API](https://servicenow-prod.fluidtopics.net/72bUOs3LffFFJmCkOa7QgA#HttpRequestAuthedDataAPI "HttpRequestAuthedData() API は、署名済み REST や SOAP 要求にアクセスして値を設定するメソッドを提供します。")」を参照してください。 |
[表 : 3. 返される内容]

{#RequestAuthAPI-generateAuth__table_vhw_sy4_5jb}  
この例では、要求を作成し、RequestAuthAPI API に渡す資格情報レコードを取得します。次に、generateAuth() メソッドが要求に署名します。

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
    // Get a credential record
    gs.info( "date:" + httpRequestData.getDate() );
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("5b61c16f73533300f662cff8faf6a74b");
     
    // Create the RequestAuthAPI object and sign the request
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);
    var output = signingAPI.generateAuth();
     
## RequestAuthAPI - getAuthCredential() {#ariaid-title4}

要求の署名に使用された認証情報レコードを返します。
{#RequestAuthAPI-getAuthCredential__table_pfm_ny4_5jb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 4. パラメーター]

{#RequestAuthAPI-getAuthCredential__table_pfm_ny4_5jb} {#RequestAuthAPI-getAuthCredential__table_qfm_ny4_5jb__entry__2}

| タイプ | 説明 |
|-|-|
| AuthCredential | オブジェクト。要求の署名に使用された認証情報レコードに関する情報を取得するために使用するデータ。資格情報を操作するには、AuthCredential クラスのメソッドを使用します。[「AuthCredential API](https://servicenow-prod.fluidtopics.net/ueEac3jnnygklNrWCh_Y3w#AuthCredentialAPI "AuthCredential() API は、REST 要求の資格情報を構築できるようにするメソッドを提供します。")」を参照してください。 |
[表 : 5. 返される内容]

{#RequestAuthAPI-getAuthCredential__table_qfm_ny4_5jb}  

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
    // Get a credential record
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("5b61c16f73533300f662cff8faf6a74b");
     
    // Return the AuthCredential object
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);
    var signingCredential = signingAPI.getAuthCredential();

## RequestAuthAPI - getHttpRequestData() {#ariaid-title5}

RequestAuthAPI クラスをインスタンス化するために使用された HttpRequestData オブジェクトを返します。
{#RequestAuthAPI-getHttpRequestData__table_hp2_ly4_5jb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 6. パラメーター]

{#RequestAuthAPI-getHttpRequestData__table_hp2_ly4_5jb} {#RequestAuthAPI-getHttpRequestData__table_ip2_ly4_5jb__entry__2}

| タイプ | 説明 |
|-|-|
| HttpRequestData | オブジェクト。未署名の REST 要求が含まれます。要求を操作するには、HttpRequestData クラスのメソッドを使用します。[「HttpRequestData API](https://servicenow-prod.fluidtopics.net/su95sxx~5KyqaSpFg6tDHQ#HttpRequestDataAPI "HttpRequestData API は、署名を適用してエンドポイントに送信する前に REST 要求を構築および操作するためのメソッドを提供します。")」を参照してください。 |
[表 : 7. 返される内容]

{#RequestAuthAPI-getHttpRequestData__table_ip2_ly4_5jb}  

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
     // Get a credential record
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("88772d0d40990010f8772fdd9ebc8075");
     
    // Return the HttpRequestData object
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);
    var unsignedRequest = signingAPI.getHttpRequestData();
     
    gs.info("Endpoint is: " + unsignedRequest.getEndpoint());

出力:

    Endpoint is: https://third-party-endpoint

## RequestAuthAPI - resetAuthCredential() {#ariaid-title6}

サードパーティのリソースを制御するための一時的なセキュリティ資格情報を信頼できるユーザーに提供する際に使用できる、一時的な特権トークンを生成します。
このメソッドを使用するには、制限付きアクセストークンを処理および管理する API または SDK がサードパーティのサービスに含まれている必要があります。
{#RequestAuthAPI-resetAuthCredential__table_rxd_qy4_5jb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 8. パラメーター]

{#RequestAuthAPI-resetAuthCredential__table_rxd_qy4_5jb} {#RequestAuthAPI-resetAuthCredential__table_sxd_qy4_5jb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 9. 返される内容]

{#RequestAuthAPI-resetAuthCredential__table_sxd_qy4_5jb}  

    // Creates a temporary token 
    function(authAPI) {​
        var requestData = authAPI.getHttpRequestData();​
        var credential= authAPI.getAuthCredential();​
        credential.setAttribute('Action', 'aws_sessionToken');​  
        authAPI.resetAuthCredential();	

        //Returns status information
        var status = credential.getAttribute('credential_reset_status'); ​
    }


