ServiceNow による OAuth 受信認証:Postman を使用したクライアント認証情報フローSummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } これは、Postman を使用して ServiceNow インスタンスの OAuth 受信認証をテストする方法に関するガイドです。これは、クライアント認証情報の付与を使用してアプリケーションを設定し、API 呼び出し時に OAuth トークンを検証して、システムへの安全で許可されたアクセスを確保する方法を理解するのに役立ちます。Postman を使用してクライアント要求をシミュレートし、OAuth フローを段階的に検証することに重点が置かれています。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべて Instructions<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } クライアント認証情報の OAuth フロー クライアント (バックエンドサービスなど) は、クライアント ID とシークレットを使用して、認証サーバーからアクセストークンを直接要求します。認証サーバーはクライアント認証情報を検証します。有効な場合、認証サーバーはアクセストークンを発行します。クライアントは、アクセストークンを使用して、リソースサーバーから保護されたリソースを要求します。リソースサーバーはトークンを検証し、要求されたリソースを返します。 ユースケース: クライアント認証情報の権限許可 は、ユーザーが関与しない マシン間通信 用に設計されているため、リダイレクトを伴いません。クライアント アプリは、自分自身を直接認証し、アクセス トークンを要求します。 注意:クライアント認証情報の権限許可フローでリフレッシュトークンは生成されません。 ユーザーセットアップ: すべて > [ユーザー管理>ユーザーに移動します。 [新規] を選択します。 フォームのフィールドに入力し、[送信] をクリックします ユーザー ID:oauthusertest 注意:以下のフィールドはオプションです 名:oauth姓:ユーザーメール:oauthusertest@example.com 必要な操作 [パスワードを設定] ボタンを選択して、パスワード生成ダイアログを表示します。[生成] をクリックしてパスワードを生成し、[パスワードを保存] ボタンをクリックしてパスワードを保存します[パスワードのリセットが必要] ボタンの設定を解除します。 関連リストに移動し、[ロール] タブを選択します。[編集] ボタンをクリックして、新しいロールをユーザーにアサインします:oauthusertest コレクションリストから rest_service と ITIL を選択し、矢印をクリックして右側に移動して保存します。 クライアント認証情報のセットアップシステムプロパティ ナビゲーションフィルターで、「sys_properties.list」と入力します。 システム プロパティ [sys_properties] テーブル内のプロパティの全リストが表示されます。 [新規 を選択します。フォームで、次のフィールドに入力します。 名前:glide.oauth.inbound.client.credential.grant_type.enabledOAuth のクライアント認証情報フローを有効にするにはタイプ:true | false値:true 注: [選択肢]、[キャッシュを無視]、[プライベート]、[読み込みロール]、[書き込みロール] など、フォーム内の他のフィールドは、要件に応じて構成できます。 [送信]を選択します。 oAuth2.0 アプリケーションレジストリをセットアップします。 アドミンユーザーとして ServiceNow インスタンスにログインします。[すべて] > [システム OAuth > アプリケーションレジストリ] に移動します。 oAuth2.0 アプリケーション登録に関連するレコードのリストが利用可能になります。これは、oAuth2.0 プロバイダーまたはクライアントレコードを表示するリストです。 プロバイダー:サードパーティのアプリケーション/API が ServiceNow インスタンスに接続します。クライアント:インスタンスはサードパーティアプリケーションに接続します。 [新規] をクリックしインターセプターページで 外部クライアント用の OAuth API エンドポイントを作成します をクリックすると、アプリケーション登録リストが表示されます。 ハンバーガーメニューをクリックし、[フォームレイアウト] をクリックします 利用可能なリストから次を選択します。 デフォルトの権限許可タイプOAuth アプリケーションユーザー: 移動後、これを保存してアプリケーションレジストリページに戻ります これら 2 つのフィールドがページに入力されているかどうかを確認します。 次に、次のようにフィールドに値を入力し、[送信] をクリックします 名前:postman-clientcredential-test または任意の名前デフォルトの権限許可タイプとして [クライアント認証情報] を選択しますOAuth アプリケーションユーザー:oauth ユーザー 10.次に、名前 postman-clientcredential-test またはアプリケーションに付けた名前を選択し、アプリケーションレジストリにアクセスします。認証スコープをクリックし、認証スコープとして useraccount を選択します。 レコードを保存する 将来使用するためにクライアント ID とクライアント認証情報を保存します。 注:クライアントシークレットを見つけるには、ロックボタンをクリックしてシークレットを表示します アクセストークンフローの POSTMAN セットアップ: POSTMAN アプリケーションを開く [+] ボタンをクリックして、REST API 要求ワークスペースを開きます。 3.次のように選択します。 REST HTTP メソッド:POST[本文] タブを選択し、「x-www-form-urlencoded」を選択しますURL:https://.service-now.com/oauth_token.do 4.キーと値のペアを次のように設定します。 grant_type = client_credentialsclient_id = <インスタンスのクライアント ID>client_secret = <クライアントシークレット>。 [送信] ボタンをクリックし、応答が利用可能かどうかを確認します。 検証: [All > System Web Services > REST API Explorer] に移動します。次のようにセットアップを選択します。 パスパラメーター: tableName= インシデント クエリパラメーター: sysparm_fields = 番号、重大度、caller_id、カテゴリ、short_description、ステータスsysparm_limit = 1 送信ボタンをクリックし、データが利用可能かどうかを確認します。 応答の本文は次のようになります。 次に、POSTMAN に移動して、次の操作を行います。 REST API エクスプローラーから HTTP メソッド/URI をコピーします:https://.service-now.com/api/now/table/incident?sysparm_fields=number%2Cshort_description%2Cstate%2Ccaller_id&sysparm_limit=1 POSTMAN に貼り付けます: [クエリパラメーターは自動入力されます] アクセストークンをコピーする [認証] タブに移動し、次に、[認証タイプ] からベアラートークンを選択し、以前に受け取ったアクセストークンを [トークン] フィールドに貼り付けます。 GET 要求と URL を入力してください:https://.service-now.com/api/now/table/incident?sysparm_fields=number%2Cshort_description%2Cstate%2Ccaller_id&sysparm_limit=1 データが入力されているかどうかを確認します。 検証: トークンの生成: すべてのトークンを表示するには、 システム OAuth > トークンの管理に移動します。このモジュールへは、管理者のみがアクセスできます。トークンが生成されたかどうかを検証します デバッグ: デバッグ用のシステムプロパティを設定します。sys_properties.list に移動し、システムプロパティ com.snc.platform.security.oauth.debug が利用可能かどうかを確認します。ない場合は、[新規] ボタンをクリックしてプロパティを作成します。 システムプロパティを以下のように設定し、[送信] をクリックします 名前:com.snc.platform.security.oauth.debug説明:OAuth デバッグプロパティの有効化タイプ:true|誤り値:true 次に、システムプロパティ glide.auth.debug.enabled が存在するかどうかを確認し、存在しない場合は、システムプロパティを次のように設定して [送信] をクリックします 名前:glide.auth.debug.enabled説明:OAuth デバッグプロパティの有効化タイプ:true|誤り値:true [システムログ] > [すべて] に移動> トークンが生成されたかどうかを確認します。 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } https://www.servicenow.com/docs/bundle/yokohama-platform-security/page/integrate/authentication/concept/client-credentials.html https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1645212 :受信 OAuth のクライアント認証情報の権限許可タイプ。