LINQPad でOkta のデータを操作する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
LINQPad でOkta にLINQ クエリを実行する方法を解説します。

CData ADO.NET Provider for Okta は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってOkta の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。

必要なもの

本記事の手順を実行してLINQPad からOkta に接続するには、以下の3つの製品が必要になります。

  • Okta の環境
  • LINQPad
  • CData ADO.NET Provider for Okta。右側のサイドバーから30日間無償トライアルがダウンロードできます

データモデルの作成

CData ADO.NET Provider for Okta およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。

ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。

  1. プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。

    New Connectionを選択して新しい接続設定を作成
  2. 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 認証については、ヘルプドキュメントを参照してください。

    一般的な接続文字列は次のとおりです。

    Domain=dev-44876464.okta.com;
  3. 希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。

    下部のFinishをクリックしてデータモデルを作成
  4. プロジェクトをビルドします。生成されたファイルを使ってLINQPad でOkta 接続を作成できます。

LINQPad でOkta のデータに接続

必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。

  1. LINQPad を開き[接続の追加]をクリックします。

    接続の追加をクリック
  2. [Use a typed data context from your own assembly]オプションを選択します。

  3. [Entity Framework DbContext]を選択します。

    下部のフィールドから[Entity Framework DbContext]を選択
  4. [Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。

  5. DbContext の名前を選択します。
  6. 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。
DbContextの名前とApp.Configへのパスを指定

これでLINQPad 経由でOkta にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。

LINQPad からOktaに接続

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

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

 ダウンロード

詳細:

Okta Icon Okta ADO.NET Provider お問い合わせ

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