GlideOAuthClient - スコープ対象、グローバル

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • GlideOAuthClient API は OAuth リフレッシュトークンとアクセストークンの要求と取り消しを行うメソッドを提供します。

    この API はグローバルスクリプトおよびスコープ対象のスクリプトで使用できます。スコープ対象のスクリプトでは、sn_auth 名前空間識別子を使用します。

    GlideOAuthClient - getToken(文字列 requestID, 文字列 oauthProfileID)

    クライアントのアクセストークンとリフレッシュトークンを取得します。

    表 : 1. パラメーター
    名前 タイプ 説明
    requestID 文字列 OAuth エンティティプロファイル [oauth_entity_profile] テーブルを参照する OAuth 要求者プロファイル [oauth_requestor_profile] テーブルからの要求 ID。
    oauthProfileID 文字列 OAuth エンティティプロファイル [oauth_entity_profile] テーブルからの OAuth プロファイル ID。
    表 : 2. 返される内容
    タイプ 説明
    GlideOAuthToken クライアントのアクセストークンとリフレッシュトークン。

    このコード例は、インスタンスデータベースからアクセス権を取得してトークンを更新する方法を示しています。

    function dumpToken(token) {
      if(token) {
         gs.info("AccessToken:" + token.getAccessToken());
         gs.info("AccessTokenExpiresIn:" + token.getExpiresIn());
         gs.info("RefreshToken:" + token.getRefreshToken());
      }
    }
    
    var oAuthClient = new  sn_auth.GlideOAuthClient();
    var token = oAuthClient.getToken('248e3017c302301089a7dd5c2840dda5', '9c4e78d3c302301089a7dd5c2840dd76');
    dumpToken(token);

    出力:

    *** Script: AccessToken:6MRxD3TRYYvIaoKr-JCy3KiaOxBPu4C9k8oafo3MYf9q8zDyHQr8UzMSM3Md2alfaES1rzSYe5ydqgbOwpm7TA
    *** Script: AccessTokenExpiresIn:1207
    *** Script: RefreshToken:sc0iTK-0PcVkRi14HXPM3vT0FyOPO8iCqC10huQoDSSLBGUSnmEv_fUfJzGWCWBb_StsXIOz6r8qF-hRhURWTA

    GlideOAuthClient - requestToken(文字列 clientName, 文字列 jsonString)

    JSON 形式でエンコードされた要求パラメーターを使用して、クライアントのトークンを取得します。

    表 : 3. パラメーター
    名前 タイプ 説明
    clientName 文字列 クライアント名。
    jsonString 文字列 クライアントの JSON 文字列。
    表 : 4. 返される内容
    タイプ 説明
    GlideOAuthClientResponse クライアントのトークン。

    この例は、JSON 形式でエンコードされた要求パラメーターを使用して、リソース所有者のパスワード権限許可タイプの要求を示しています。

    
    var oAuthClient = new GlideOAuthClient();
    var params ={grant_type:"password", username:"itil", password:'itil'};
    var json =new JSON();
    var text = json.encode(params);
    var tokenResponse = oAuthClient.requestToken('TestClient', text);
    var token = tokenResponse.getToken();
    
    gs.log("AccessToken:"+ token.getAccessToken());
    gs.log("AccessTokenExpiresIn:"+ token.getExpiresIn());
    gs.log(" RefreshToken:"+ token.getRefreshToken());
    

    GlideOAuthClient - requestTokenByRequest(文字列 clientName, GlideOAuthClientRequest request)

    クライアント名と GlideOAuthClientResponse オブジェクトに設定された要求を使用して、クライアントのトークンを取得します。

    表 : 5. パラメーター
    名前 タイプ 説明
    clientName 文字列 クライアント名。
    request GlideOAuthClientRequest 要求。
    表 : 6. 返される内容
    タイプ 説明
    GlideOAuthClientResponse クライアントのトークン。

    GlideOAuthClient - revokeToken(文字列 clientName, 文字列 accessToken, 文字列 refreshToken, GlideOAuthClientRequest request)

    GlideOAuthClientRequest オブジェクトに設定された要求とオプションのヘッダーパラメーターを使用して、クライアントのアクセストークンまたはリフレッシュトークンを取り消します。

    表 : 7. パラメーター
    名前 タイプ 説明
    clientName 文字列 クライアント名。
    accessToken 文字列 アクセストークン。
    refreshToken 文字列 リフレッシュトークン。
    request GlideOAuthClientRequest 要求。
    表 : 8. 返される内容
    タイプ 説明
    GlideOAuthClientResponse クライアントのトークン。