PingOne のデータ 用のシンプルな VCL アプリケーションを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData ODBC Driver for PingOne を使用して RAD Studio でPingOne のデータを表示するシンプルな VCL アプリケーションを構築する方法を説明します。

Embarcadero RAD Studio は、Delphi および C++Builder アプリケーション用の開発環境を提供します。CData ODBC Driver for PingOne を使用すると、RAD Studio 内からリアルタイムPingOne のデータにアクセスでき、データをテーブル、ビュー、ストアドプロシージャとして抽象化してPingOne のデータの取得が可能です。この記事では、PingOne に接続し、フォームデザイナを使用してシンプルな VCL アプリケーションを作成する方法を説明します。

PingOne のデータ への接続を作成

まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。

PingOne に接続するには以下のプロパティを設定します。

  • Region:自身のPingOne 組織のデータがホスティングされている地域。
  • AuthScheme:PingOne に接続する際に使用する認証の種類。
  • WorkerAppEnvironmentId (デフォルトのPingOne ドメインを使用する場合に必要)、またはAuthorizationServerURL のいずれかで、下で説明するように設定します。

WorkerAppEnvironmentId の設定

WorkerAppEnvironmentId は、Worker アプリケーションが存在するPingOne 環境のID です。 このパラメータは、環境がデフォルトのPingOne ドメイン(auth.pingone)を利用している場合のみ使用されます。 これは、ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、PingOne への認証に使用するカスタムOAuth アプリケーションを作成した後に設定します。

はじめに、このプロパティの値を見つけます。

  1. 自身のPingOne 組織のホームページからナビゲーションサイドバーに移動し、Environments をクリックします。
  2. OAuth / Worker のカスタムアプリケーションを作成した環境(通常はAdministrators)を見つけ、Manage Environment をクリックします。 環境のホームページが表示されます。
  3. 環境のホームページのナビゲーションサイドバーで、Applications をクリックします。
  4. リストから、OAuth またはWorker アプリケーションの詳細を見つけます。
  5. Environment ID フィールドの値をコピーします。 以下の例に似たものになるはずです:
    WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'

次に、WorkerAppEnvironmentIdEnvironment ID フィールドの値に設定します。

AuthorizationServerURL の設定

AuthorizationServerURL は、お使いのアプリケーションが配置されている環境のPingOne 認可サーバーのベースURL です。 このプロパティは、PingOne プラットフォームAPI ドキュメントで説明されているように、環境にカスタムドメインを設定した場合にのみ使用されます。 Custom Domains を参照してください。

OAuth でのPingOne への認証

PingOne はOAuth とOAuthClient 認証の両方をサポートしています。 上述の設定手順に加え、OAuth またはOAuthCliet 認証をサポートするために、さらに2つの手順を完了する必要があります。

  • ヘルプドキュメントカスタムOAuth アプリケーションの作成で説明するように、カスタムOAuth アプリケーションを作成して設定します。
  • ドライバーがデータモデル内のエンティティにアクセスできるようにするには、ヘルプドキュメントのAdministrator Roles での説明のとおり、使用するアドミンユーザー / ワーカーアプリケーションに対して正しいロールを設定していることを確認してください。
  • 以下のサブセクションで説明されているように、選択した認証スキームと認証フローに適切なプロパティを設定します。

OAuth(認可コードグラント)

AuthSchemeOAuth に設定します。

デスクトップアプリケーション

OAuth アクセストークンの取得およびリフレッシュ

以下を設定して、接続してください。

  • InitiateOAuthGETANDREFRESH。繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要をなくすには、InitiateOAuth を使用します。
  • OAuthClientId:カスタムOAuth アプリケーションを作成した際に取得したClient ID。
  • OAuthClientSecret:カスタムOAuth アプリケーションを作成した際に取得したClient Secret。
  • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。例:https://localhost:3333

接続すると、CData 製品 はデフォルトブラウザでPingOne のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。 ドライバーはこれでOAuth プロセスを完了します。

  1. ドライバーはPingOne からアクセストークンを取得し、それを使ってデータをリクエストします。
  2. OAuth 値はOAuthSettingsLocation で指定された場所に保存され、接続間で永続化されるようにします。

ドライバーはアクセストークンの期限が切れると自動的にリフレッシュします。

Web アプリケーションやヘッドレスマシン、クライアントクレデンシャルグラントを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

次に、以下の手順で Data Explorer を使用してPingOne のデータへの FireDAC 接続を作成します。

  1. 新しい VCL フォームアプリケーションで、Data Explorer の FireDAC ノードを展開します。
  2. Data Explorer で ODBC Data Source ノードを右クリックします。
  3. [新しい接続の追加] をクリックします。
  4. 接続の名前を入力します。
  5. 表示される FireDAC Connection Editor で、DataSource プロパティに PingOne 用 ODBC DSN の名前を設定します。

PingOne のデータ に接続する VCL アプリケーションを作成

以下の手順に従って、クエリ結果をグリッドに表示するシンプルな VCL アプリケーションからPingOne のデータへのクエリ実行を開始します。

  1. TFDConnection コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • ConnectionDefName:PingOne のデータへの FireDAC 接続を選択します。
    • Connected: メニューから True を選択し、表示されるダイアログで資格情報を入力します。
  2. TFDQuery コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • Connection: まだ指定されていない場合は、このプロパティを TFDConnection コンポーネントに設定します。
    • SQL: SQL プロパティのボタンをクリックしてクエリを入力します。例:

      SELECT Id, Username FROM [CData].[Administrators].Users WHERE EmployeeType = 'Contractor'
      
    • Active: このプロパティを true に設定します。
  3. TDataSource コンポーネントをフォームにドロップし、以下のプロパティを設定します。

    • DataSet: このプロパティのメニューで、TFDQuery コンポーネントの名前を選択します。
  4. TDBGrid コントロールをフォームにドロップし、以下のプロパティを設定します。

    • DataSource: TDataSource の名前を選択します。
  5. TFDGUIxWaitCursor をフォームにドロップします。これはランタイムエラーを回避するために必要です。

これで、TFDQuery オブジェクトに設定された SQL クエリの結果を表示する実行可能なアプリケーションが完成しました。

関連記事

RAD Studio、Delphi、C++ Builder で CData ODBC ドライバを使用するその他の記事は以下をご覧ください。

はじめる準備はできましたか?

PingOne ODBC Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

PingOne Icon PingOne ODBC Driver お問い合わせ

PingOne ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなPingOne アカウントデータに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにPingOne データにアクセスし、読み、書き、更新を実行できます。