個人認証の構成

  • リリースバージョン: Zurich
  • 更新日 2026年03月12日
  • 所要時間:3分
  • フローデザイナーの REST ステップで個人 OAuth 認証を設定できます。

    始める前に

    必要なロール:admin

    統合ハブスターターパックインストーラー (com.glide.hub.integrations) 以降のバージョンがインストールされていることを確認します。

    このタスクについて

    このタスクでは、 ServiceNow® フローデザイナーで REST ステップの個人用 OAuth 認証を構成する方法について説明します。これにより、セッションユーザーの認証情報を使用して REST 呼び出しを実行できるため、安全でパーソナライズされた API アクセスが確保されます。

    ユーザーの個人用 OAuth トークンが存在するかどうかを確認する方法については、「 個人の OAuth トークンを取得 (GlideOAuthClient を使用)」を参照してください。

    認証情報ページにアクセスできないユーザーの初期トークンを生成する方法については、「 個人認証イニシエーター URL の生成」を参照してください。

    手順

    1. [アプリケーションレジストリ] に移動し、外部エンドポイントに接続するための OAuth アプリケーションレジストリを作成します。
    2. [接続および資格情報エイリアス] に移動し、接続エイリアスを作成します。
      このエイリアスは REST ステップで使用されます。詳細については、「接続情報および認証情報エイリアスの作成」を参照してください。
    3. [HTTP(S) 接続] に移動し、前のステップで作成した接続レコードの外部エンドポイントの詳細を更新します。
    4. OAuth 認証情報を作成します。
      1. [OAuth 2.0 認証情報] に移動します。
      2. 新しい OAuth 認証情報レコードを作成し、ステップ 1 で作成した OAuth プロファイルにリンクします。
    5. 認証情報フォームに [IntegrationType ] フィールドを追加します。
    6. ステップ 4 で作成した認証情報の [IntegrationType ] フィールドを [Personal] に更新します。
    7. 個人アクセストークンを生成します。
      1. ログインしているユーザーとして、認証情報レコードを開きます。
      2. [ OAuth トークンの取得 ] を選択して、個人用トークンを作成します。
      3. トークンを表示および管理するには、[ トークンを管理 ] を選択します。
      注:
      エンドユーザーがトークンを生成できるように、アプリケーションに UI アクションを追加します。認証情報フォームを直接開くことができるのはアドミンのみです。
    8. [アクション] に移動して、ユースケースのアクションを作成します。
    9. アクションに REST ステップを追加します。
      ステップ 2 で作成した接続エイリアスを選択します。
      注:
      REST 送信コールを使用してアクションをテストします。認証情報は、個人統合に使用するようにマークされています。アクションはシステム統合ロールで実行されるため、REST ステップでエラーが表示されることがあります。
    10. 新しいサブフローを作成し、ステップ 8 で作成したアクションを追加します。
      1. [サブフローのプロパティ] ウィンドウで、[実行方法] テキストフィールドで [セッションを開始するユーザー] を選択します。
        代わりに [別のユーザーとして実行] テキストフィールドから [システムユーザー] を選択しないでください。
    11. サブフローをテストします。
      REST ステップは、セッションユーザー用に作成されたトークンを使用します。サブフローは、FlowAPI を使用して呼び出すこともできます。
      サブフローを呼び出すサンプルスクリプト:
      try {
          // Execute synchronously in the foreground. Allows access to subflow outputs.
          var result = sn_fd.FlowAPI.getRunner()
              .subflow('global.getpersonalincidentssubflow')
              .inForeground()
              .run();
      
          var outputs = result.getOutputs();
      } catch (ex) {
          var message = ex.getMessage();
          gs.error(message);
      }
    12. 欠落または期限切れのトークンを管理します。

      セッションユーザーがアクセストークンを持っていない場合、REST 要求は HTTP 401 Unauthorized ステータスコード 応答を返します。フローを開始する前に、トークンが作成されていることを確認します。

      アクセストークンの有効期限が切れていても有効なリフレッシュトークンが存在する場合、アクセストークンは自動的に更新されます。