OAuth 2.0認可コードを使用する

はじめに

OAuth 2.0認証を使用するには、まず接続先のリモートサービスを使ってOAuthアプリを作成する必要があります。

手順

認可コード付与タイプを使ってOAuth 2.0認証を追加する手順は次のとおりです。

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

  2. [Set up authentication(認証設定)]をクリックします。

  3. [Authentication(認証)]ダイアログで[Auth Type(認証タイプ)]ドロップダウンリストから[OAuth 2.0]を選択します。

  4. [Grant Type(付与タイプ)]ドロップダウンでは、[Authorization Code(認可コード)]を選択します。

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

フィールド 定義
Paths(パス)
Authorization URL(認可URL) サービスの認可URL。

このフィールドは完全修飾URLである必要があります(例:https://account.box.com/api/oauth2/authorize)。

Token URL(トークンURL) フローがアクセスおよびリフレッシュトークンの認可コードを交換する場所。

このフィールドは完全修飾URLである必要があります(例:https://api.box.com/oauth2/token)。

Refresh URL(リフレッシュURL)(オプション) リフレッシュトークンパスは、多くの場合はアクセストークンパスと同じです。

ただし、サービスがアクセストークンの更新に別のエンドポイントを使用する場合は、ここに入力できます。

Credentials(資格情報)
Redirect URI(リダイレクトURI) 新しいアプリの登録時は、通常はアプリケーション名やWebサイトなどの基本情報を登録します。さらに、認証をOkta Workflowsに戻すためのリダイレクトURLも登録する必要があります。

提供されたコネクターの[Redirect URI(リダイレクトURI)]を新しいOAuthアプリにコピーしてコネクターをサービスに登録します。

次のリダイレクトURLを使用して、それぞれOktaのプレビューサイト、本番サイトに接続します。

  • https://oauth.workflows.oktapreview.com/oauth/{{auth.connector_key}}/cb

  • https://oauth.workflows.okta.com/oauth/{{auth.connector_key}}/cb

コネクターKey(キー)は、コネクターの[Settings(設定)]ペインで確認できます。

プレビュー、本番のどちらの環境にも登録が必要です。

Client Ownership(クライアント所有権) この設定は、OAuthアプリケーションを管理するユーザーのタイプを決定します。Developer(開発者)Customer(カスタマー)のオプションがあります。
  • Developer(開発者):コネクタービルダーがアプリケーションを作成し、その設定を管理します。コネクタービルダーは、[Client ID(クライアントID)]フィールドと[Client Secret(クライアントシークレット)]フィールドの値も提供します。

  • Customer(カスタマー):アプリケーションのエンドユーザーがクライアントを管理し、[Client ID(クライアントID)]フィールドと[Client Secret(クライアントシークレット)]フィールドの値を指定します。このオプションを選択すると、[New Connection(新規接続)]ダイアログに[Client ID(クライアントID)]フィールドと[Client Secret(クライアントシークレット)]フィールドが自動的に追加されます。

Client ID(クライアントID) サービスにより公開されており、OAuthアプリケーションを識別して認可URLを構築するため使用される文字列。
Client Secret(クライアントシークレット) サービスによって提供されるプライベート値。アプリケーションのIDをサービスに対して認証するため使用される値。
Scopes(スコープ)(オプション)
Scopes(スコープ) スコープは、Okta Workflowsに提供されるアクセスの詳細レベルを指定します。CAPIAカードがAPI上のすべてのエンドポイントにヒットするには、通常は、アプリですべてのスコープが有効になっている必要があります。

接続用に追加するスコープごとに[Add Scope(スコープを追加)]をクリックします。

リフレッシュトークンを取得するために特別なスコープ(refresh_tokenoffline_accessなど)が必要かどうかについては、APIのドキュメントを参照してください。

Scopes Delimiter(スコープ区切り文字) 区切り文字は、スコープの区切り方を指定します。space(スペース)comma(カンマ)のオプションがあります。

多くの場合、複数のスコープを渡すときはスペースまたはカンマで区切られますが、これはサービスによって異なります。

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

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

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

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

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

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

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

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

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

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

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

  • Value from Helper Flow(ヘルパーフローからの値)であれば、[Choose Flow(フローの選択)]ダイアログでフローを選択します。

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

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

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

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

次の手順

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

コネクターカードへのオプションフィールドの追加