OAuth 2.0クライアント資格情報を使用する

OAuth 2.0は、リモートAPIやユーザーデータなどのリソースセットへのアクセス権を付与する認可プロトコルです。

OAuth 2.0の詳細については、OAuth 2.0とは何か?を参照してください。

このタスクを開始する

クライアント資格情報付与タイプを使ってOAuth 2.0認証を追加する手順は次のとおりです。

  1. 概要(Overview)タブをクリックします。

  2. 認証方法が存在しない場合は、認証設定(Set up authentication)をクリックします。存在する場合は、認証を追加(Add Authentication)をクリックします。

  3. 認証(Authentication)ダイアログで、ディスプレイ名を入力し、認証タイプ(Auth Type)ドロップダウンリストからOAuth 2.0を選択します。

  4. 付与タイプ(Grant Type)ドロップダウンメニューでは、Client Credentialsを選択します。

  5. クライアント認証タイプ(Client Authentication Type)ドロップダウンで、次のいずれかのオプションを選択します。

    • Send as basic auth header (client_secret_basic)(基本認証ヘッダーとして送信):認証では、クライアント資格情報はHTTP認証ヘッダーとして送信されます。これが推奨されるオプションです。

    • Send as basic auth body (client_secret_post)(基本認証本文として送信):認証では、クライアント資格情報はリクエストの本文として送信されます。

  6. 次のフィールドに値を追加します。

フィールド 定義

パス(Paths)

トークンURL(Token URL)

フローがクライアント資格情報を送信する場所。

このフィールドは完全なURLでなければなりません。たとえばhttps://api.box.com/oauth2/tokenです。

資格情報(Credentials)

クライアントID(Client ID)

サービスによって提供される公開された文字列。これは、OAuthアプリケーションの識別と認証URLの構築に使用されます。

このフィールドの値は、接続の作成時にエンドユーザーが指定します。

クライアントシークレット(Client Secret)

サービスによって提供されるプライベート文字列値。この値は、サービスに対してアプリケーションIDを認証するために使用されます。

このフィールドの値は、接続の作成時にエンドユーザーが指定します。

スコープ(任意)(Scopes (Optional))

名前(Name)

各スコープは、サービスからの接続リクエストの詳細なアクセスレベルを定義します。接続にOAuthスコープを追加する方法は次のとおりです。

  1. スコープを追加(Add Scope)をクリックして、この接続用に要求する一意のスコープをサービスに追加します。

  2. スコープ名を入力します。(例:openidoffline_access)。

    トグルを使ってスコープが必須(Required)であるかどうかを指定します。スコープを必須(Required)としてマークするには、事前にスコープのカスタマイズをユーザーに許可(Allow users to customize scopes)オプションを有効化しておく必要があります。

    必須としてマークされたスコープは常に要求されます。通常は、コネクターが正しく機能するために必要なスコープです。また、APIのすべてのエンドポイントを呼び出すCAPIAカードでは、通常は接続によってすべてのスコープが有効化されている必要があります。

    追加する各スコープは、新規接続(Permissions)プレビューの権限(New Connection)タブに表示されます。

  3. ユーザーがスコープリストを変更できるようにするには、スコープのカスタマイズをユーザーに許可(Allow users to customize scopes)オプションを選択します。

    このオプションでは、サービスから要求されるスコープを定義するための2つの選択肢を提供するセレクターが権限(Permissions)タブに追加されます。

    • デフォルトスコープを使用(Use default scopes):定義済みのすべてのスコープを要求します。

    • スコープをカスタマイズ(Customize scopes):ユーザーは、元のリストから必須以外のスコープを削除できます。必須スコープは消去できません。

  4. ユーザーがコネクターを通じて追加のスコープリクエストを追加できるようにするには、追加スコープの要求をユーザーに許可(Allow users to request additional scopes)オプションを選択します。

    スコープはスコープを手動で追加(Manually add scopes)フィールドに入力できます。この入力フィールドの文字数制限は500です。スコープは個別に追加することも、スペースまたはカンマ区切りのスコープリストとして追加することもできます。区切り文字は、スコープ区切り文字(Scopes Delimiter)フィールドの選択と一致させます。

    このオプションを選択しない場合、ユーザーは Okta Ideasのサイトを通じてコネクターへの新規スコープの追加を求めることができます。このリンクは権限(Permissions)タブの下部にあります。

    このオプションは、スコープのカスタマイズをユーザーに許可(Allow users to customize scopes)オプションを有効にした場合にのみ利用できます。

スコープ区切り文字(Scopes Delimiter)

ユーザーが個々のスコープを区切って入力するための区切り文字を指定します。

選択肢はSpaceCommaです。

パラメーター(任意)(Parameters (Optional))

パラメーターを使用することで、インスタンスやサブドメインなど、認証に必要な追加情報をコネクターユーザーから収集できます。これらのフィールドは、ユーザーが接続を最初に作成する際に表示され、必須です。

ラベル(Label):コネクターのセットアップ時に新規接続(New Connection)ダイアログに表示されるパラメーターの名前。

キー(Key):サービスで使用されるキー/値ペアのテキスト値。たとえばapi_keyapplication_keyauthenticationなどです。

タイプ(Type):3つのフィールドタイプから選択できます。

  • Text:ユーザーにプレーンテキストフィールドを表示します。これは、加工なしのオープンテキストフィールドです。

  • Password:加工されたテキストフィールドを表示します。このフィールドに入力されたテキストの内容はユーザーにはわかりません。

  • Dropdown List:ユーザーが選択する値の、手動で作成されたドロップダウンリストを表示します。

クライアント資格情報付与タイプでは、デフォルトでクライアントID(Client ID)パラメーターとクライアントシークレット(Client Secret)パラメーターが表示されます。テキストを追加してこれらのラベル用に一意の名前を作成することはできますが、これらのパラメーターは削除できません。

構成値(任意)(Config Values (Optional))

コネクターに対してユーザーを認証する方法を定義するために、その他の構成値が必要になる場合があります。構成値を追加(Add Config Value)をクリックします。

ラベル(Label):コネクターのセットアップ時に新規接続(New Connection)ダイアログに表示される構成値の名前。

定義(Definition):このフィールドに静的な値が入力されるか、ヘルパーフローからの値が入力されるかを示します。

  • Static Valueであれば、値(Value)フィールドに値を入力します。

  • Value from Helper Flowであれば、フローの選択(Choose Flow)ダイアログでフローを選択します。

タイプ(Type):2つのフィールドタイプから選択できます。

  • Text:ユーザーにプレーンテキストフィールドを表示します。これは、加工なしのオープンテキストフィールドです。

  • Password:加工されたテキストフィールドを表示します。このフィールドに入力されたテキストの内容はユーザーにはわかりません。

可視性(Visible)トグルは、コネクターの認証ダイアログに構成値を表示するかどうかを決定します。

次の手順

この認証方式を作成したら、認証方式を通じて呼び出しを管理するhttpHelperフローを作成する必要があります。httpHelperフローを構築するを参照してください。