フローデザイナーの REST ステップで個人 OAuth 認証を設定できます。
このタスクについて
このタスクでは、 ServiceNow® フローデザイナーで REST ステップの個人用 OAuth 認証を構成する方法について説明します。これにより、セッションユーザーの認証情報を使用して REST 呼び出しを実行できるため、安全でパーソナライズされた API アクセスが確保されます。
ユーザーの個人用 OAuth トークンが存在するかどうかを確認する方法については、「 個人の OAuth トークンを取得 (GlideOAuthClient を使用)」を参照してください。
認証情報ページにアクセスできないユーザーの初期トークンを生成する方法については、「 個人認証イニシエーター URL の生成」を参照してください。
手順
-
[アプリケーションレジストリ] に移動し、外部エンドポイントに接続するための OAuth アプリケーションレジストリを作成します。
-
[接続および資格情報エイリアス] に移動し、接続エイリアスを作成します。
-
[HTTP(S) 接続] に移動し、前のステップで作成した接続レコードの外部エンドポイントの詳細を更新します。
-
OAuth 認証情報を作成します。
-
[OAuth 2.0 認証情報] に移動します。
-
新しい OAuth 認証情報レコードを作成し、ステップ 1 で作成した OAuth プロファイルにリンクします。
-
認証情報フォームに [IntegrationType ] フィールドを追加します。
-
ステップ 4 で作成した認証情報の [IntegrationType ] フィールドを [Personal] に更新します。
-
個人アクセストークンを生成します。
-
ログインしているユーザーとして、認証情報レコードを開きます。
-
[ OAuth トークンの取得 ] を選択して、個人用トークンを作成します。
-
トークンを表示および管理するには、[ トークンを管理 ] を選択します。
注: エンドユーザーがトークンを生成できるように、アプリケーションに UI アクションを追加します。認証情報フォームを直接開くことができるのはアドミンのみです。
-
[アクション] に移動して、ユースケースのアクションを作成します。
-
アクションに REST ステップを追加します。
ステップ 2 で作成した接続エイリアスを選択します。
注: REST 送信コールを使用してアクションをテストします。認証情報は、個人統合に使用するようにマークされています。アクションはシステム統合ロールで実行されるため、REST ステップでエラーが表示されることがあります。
-
新しいサブフローを作成し、ステップ 8 で作成したアクションを追加します。
-
[サブフローのプロパティ] ウィンドウで、[実行方法] テキストフィールドで [セッションを開始するユーザー] を選択します。
代わりに [別のユーザーとして実行] テキストフィールドから [システムユーザー] を選択しないでください。
-
サブフローをテストします。
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);
}
-
欠落または期限切れのトークンを管理します。
セッションユーザーがアクセストークンを持っていない場合、REST 要求は HTTP 401 Unauthorized ステータスコード 応答を返します。フローを開始する前に、トークンが作成されていることを確認します。
アクセストークンの有効期限が切れていても有効なリフレッシュトークンが存在する場合、アクセストークンは自動的に更新されます。