PowerBuilder から JDBC 経由で Okta のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
PowerBuilder で Okta JDBC Driver を使用して Okta のデータ にアクセスする方法を紹介します。

CData JDBC ドライバー for Okta は、 PowerBuilder を含む、JDBC をサポートするあらゆるプラットフォームや開発技術から使用できる標準ベースのコントロールです。 この記事では、PowerBuilder で CData JDBC Driver for Okta を使用する方法について説明します。

ここでは、CData JDBC Driver for Okta を使用してデータを取得する基本的な PowerBuilder アプリケーションの作成方法を説明します。

PowerBuilder から Okta のデータ に接続

以下の手順に従って、Database Painter ツールを使用し、Okta 用の JDBC URL に基づくデータベースプロファイルを作成します。データベースプロファイルを使用して接続プロパティを保存できます。Database Painter では、データをグラフィカルに操作したり、SQL クエリを実行したりできます。

  1. ドライバーの JAR ファイルを PowerBuilder のクラスパスに追加します。CLASSPATH システム環境変数を、インストールディレクトリの lib サブフォルダにあるドライバー JAR へのパスに設定します。

    Note: PowerBuilder Classic を使用している場合は、Tools -> System Options -> Java をクリックしてドライバー JAR へのパスを追加することもできます。

  2. Tools -> Database Painter をクリックします。
  3. JDBC ノードを右クリックし、New Profile をクリックします。
  4. Database Profile Setup ダイアログで、以下の情報を入力します。
    • Profile Name: プロファイルのわかりやすい名前を入力します。
    • Driver Name: ドライバーのクラス名を入力します: cdata.jdbc.okta.OktaDriver
    • URL: JDBC URL を入力します。

      Okta に接続するには、Domain 接続文字列プロパティをお使いのOkta ドメインに設定します。 Okta はOAuth およびOAuthJWT 認証をサポートしています。

      OAuth認証

      OAuth で認証するには、AuthSchemeOAuth に設定する必要があります。また、カスタムOAuth アプリケーションを作成する必要があります。

      カスタムOAuth アプリケーションの作成

      Okta アカウントから:

      1. 管理者アカウントでOkta のデベロッパーエディションにサインインします。
      2. Admin Consoleで、Applications > Applications に移動します。
      3. Create App Integration をクリックします。
      4. Sign-in method は、OIDC - OpenID Connect を選択します。
      5. Application type は、Web Application を選択します。
      6. カスタムアプリケーションの名前を入力します。
      7. Grant TypeをAuthorization Code に設定します。トークンを自動的に更新したい場合は、Refresh Token もチェックしてください。
      8. コールバックURL を設定します。
        • デスクトップアプリケーションやヘッドレスマシンでは、http://localhost:33333 または任意の別のポート番号を使用します。ここで設定したURI が、CallbackURL プロパティになります。
        • Web アプリケーションの場合、コールバックURL を信頼できるリダイレクトURL に設定します。このURL は、アプリケーションへのアクセスが許可されたことを示すトークンを伴ってユーザーが戻ってくるWeb 上の場所です。
      9. Assignments セクションで、Limit access to selected groups を選択してグループを追加するか、グループの割り当ては一旦スキップします。
      10. OAuth アプリケーションを保存します。
      11. アプリケーションのGeneral タブに、アプリケーションのClient Id とClient Secret が表示されます。後で使用できるように、これらを記録してください。Client Id はOAuthClientId の設定に使用し、Client Secret はOAuthClientSecret の設定に使用します。
      12. Assignments タブを確認し、アプリケーションにアクセスする必要のあるすべてのユーザーがアプリケーションに割り当てられていることを確かめます。
      13. Okta API Scopes タブで、OAuth アプリケーションに付与するスコープを選択します。これらのスコープは、アプリが読み取り可能なデータを決定します。そのため、特定のビューに対するスコープを付与しないと、そのビューに対するクエリを実行する権限がドライバーに付与されません。各ビューに必要なスコープを確認するには、ヘルプドキュメントのデータモデル > ビュー のビュー固有のページを参照してください。

      OAuth 認証の詳細や、OAuthJWT 認証については、ヘルプドキュメントを参照してください。

      組み込みの接続文字列デザイナー

      JDBC URL の構築には、Okta JDBC Driver に組み込まれている接続文字列デザイナーが便利です。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

      java -jar cdata.jdbc.okta.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。一般的な JDBC URL は以下のとおりです。

      jdbc:okta:Domain=dev-44876464.okta.com;
  5. テーブルを表示および編集するには、テーブルを右クリックして Edit Data -> Grid をクリックします。

PowerBuilder コントロールで Okta のデータ を使用

標準の PowerBuilder オブジェクトを使用して JDBC データソースに接続し、クエリを実行できます。以下の例では、Okta のデータ を DataWindow に取得する方法を示します。以下のコードを open メソッドに追加できます。

SQLCA.DBMS = "JDBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Driver='cdata.jdbc.okta.OktaDriver',URL='jdbc:okta:Domain=dev-44876464.okta.com;";
CONNECT USING SQLCA;
dw_users.SetTransObject(SQLCA);
dw_users.Retrieve();

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

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

 ダウンロード

詳細:

Okta Icon Okta JDBC Driver お問い合わせ

Okta データと連携するパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。