業務アプリ構築ツールコンテキサーで、PingOne と連携したアプリを作成する方法

コンテキサーでPingOne と連携したアプリを作成する方法を紹介します。

杉本和也
リードエンジニア

最終更新日:2023-03-17

この記事で実現できるPingOne 連携のシナリオ

こんにちは!リードエンジニアの杉本です。

コンテキサーとは、株式会社アプストウェブが提供する業務アプリケーションを構築のための純国産ノンプログラミング開発ツールです。CSVファイルやクラウドデータベース、ODBC 経由でのRDBのデータをもとに、ノンプログラミングで様々な業務アプリケーションを短時間で開発できるのが特徴です。

コンテキサーではRDBと連携する仕組みが標準提供されており、この機能を介してSQL ServerやMySQLなどにアクセスできるようになっています。そして、この機能とCData ODBC Driver for PingOne を組み合わせることで、各種クラウドサービスのAPIにアクセスすることができるようになります。

コンテキサー連携アプリ

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持った製品です。

  1. PingOne をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
  2. 多様なアプリケーション、ツールにPingOne のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてPingOne の接続を設定、2.Active Query Builder 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとPingOne への接続設定

まずは、本記事右側のサイドバーからPingOne ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

インストール後、ODBC DSN(データソース名)で接続プロパティを設定します。これはドライバーのインストールの最後の手順にあたります。Microsoft ODBC Data Source Administrator を使用して、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

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

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

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

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

PingOne のデータをコンテキサーに連携

以下の手順で、コンテキサーでのアプリ作成を進めます。

  1. アプリを作る前に、データベースへの接続情報を追加します。「データ」タブから「データベース」をクリックします。 データベースをコンテキサーに追加(1)
  2. 以下のようにデータベース接続設定を追加する画面が表示されるので、「新規」ボタンをクリックし、先程作成したODBC 接続のDSN 名を入力します。 データベースをコンテキサーに追加(2)
  3. エンジンはCData Driver と相性の良いMySQL ベースで指定します。それ以外のサーバやデータベースなどの情報は指定不要です。 接続情報を指定
  4. 接続確認を行い、「接続に成功しました」というメッセージが表示されればOKです。「登録」をクリックしてデータベース接続情報を保存しましょう。

パネルの追加

データベース接続情報の追加が完了したら、アプリを作成していきます。今回はシンプルにPingOne の一覧を表示するアプリを作成します。

  1. 「定義」→「パネル追加」で「データベースから」を選択し、先程のDSN名でテーブルを一覧から選択します。今回はPingOne の[CData].[Administrators].Users を指定しました。 取得したいテーブルを指定
  2. 「読み込みする」ボタンをクリックします。
  3. パネルのフォーマットは任意ですが、今回は新しいシートに表形式で追加しました。
  4. これで以下のようにパネルが展開され、ODBC を経由してPingOne のデータがシームレスに読み込まれました! 取得したテーブルからパネルを作成

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコンテキサーからコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。