メイン コンテンツをスキップする 補完的コンテンツへスキップ

Microsoft Entra IDを使ったJWT検証によってルートをサービスプロバイダーとして作成

手順

  1. [Palette] (パレット)からデザインワークスペースに、cBeanRegisterコンポーネントを、cRESTコンポーネント、cRecipientListコンポーネント、cDirectコンポーネント(5つ)、cSetBodyコンポーネント、cLogコンポーネントをドラッグ&ドロップします。
  2. ロールがさらに識別しやすくなるようコンポーネントにラベルを付け、上記のように[Row] (行) > [Route] (ルート)接続を使ってリンクします。
  3. cBeanRegisterコンポーネントの[Basic settings] (基本設定)ビューで、Idフィールドに"customers"と入力します。[Customized] (カスタマイズ)オプションを選択し、[Code] (コード)ボックスに次のコードを入力します:
    beans.Customers customers = new beans.Customers();
    
    beans.Customer customer = new beans.Customer();
    customer.setFirstName(TalendDataGenerator.getFirstName());
    customer.setLastName(TalendDataGenerator.getLastName());
    customer.setCity(TalendDataGenerator.getUsCity());
    customers.addCustomer(customer);
    
    customer = new beans.Customer();
    customer.setFirstName(TalendDataGenerator.getFirstName());
    customer.setLastName(TalendDataGenerator.getLastName());
    customer.setCity(TalendDataGenerator.getUsCity());
    customers.addCustomer(customer);
    
    customer = new beans.Customer();
    customer.setFirstName(TalendDataGenerator.getFirstName());
    customer.setLastName(TalendDataGenerator.getLastName());
    customer.setCity(TalendDataGenerator.getUsCity());
    customers.addCustomer(customer);
    
    beanInstance = customers;
  4. cRESTコンポーネントの[Basic settings] (基本設定)ビューで:
    1. [Endpoint] (エンドポイント)フィールドに"/services/customers"と入力します。
    2. [Type] (タイプ)リストから[Manual] (手動)を選択して、REST APIマッピングを手動で決定します。
    3. [REST API mapping] (REST APIマッピング)テーブルで[+]をクリックして、テーブルに行を追加します。[Output Flow] (出力フロー)フィールドに、名前としてgetAllCustomersと入力します。HTTP VerbリストからGETを選択します。他のカラムはデフォルト設定のままにします。
    4. 前のステップを繰り返し、上のスクリーンショットにあるように、getCustomeraddCustomerupdateCustomerdeleteCustomerという出力フローを、対応するHTTP動詞URIパターンコンシューマープロデューサーBeanクラスと共に追加します。
    5. [Security] (セキュリティ)チェックボックスと[JWT Bearer Token] (JWT Bearerトークン)スキームをを選択します。
    6. [Keystore Type] (キーストアタイプ)リストで、Java Keystore (*.jks)を選択します。
    7. [Keystore file] (キーストアファイル)フィールドに、キーストアへのパスを入力します。
    8. [Keystore Password] (キーストアパスワード)フィールドに、キーストアパスワードを入力します。
    9. [Keystore Alias] (キーストアエイリアス)フィールドに、キーストアエイリアスを入力します。
    10. [Audience] (オーディエンス)フィールドに、https://login.microsoftonline.com/<tenant ID>/oauth2/tokenから取得したオーディエンス値を入力します。
  5. cRESTコンポーネントの[Advanced settings] (詳細設定)ビューで:
    1. [Log messages] (ログメッセージ)チェックボックスを選択します。
    2. JAXRS Propertiesテーブルに、"RS256"という値で"rs.security.signature.algorithm"プロパティを追加します。
  6. cRecipientListコンポーネントの[Basic settings] (基本設定)ビューで、[Language] (言語)リストから[Simple] (シンプル)を選択し、[Expression] (式)フィールドに"direct:${header.operationName}"と入力します。
  7. getAllCustomersというラベルが付いたcDirectコンポーネントの[Basic settings] (基本設定)ビューで、[Name] (名前)フィールドに"getAllCustomers"と入力します。
    このステップを繰り返し、次のラベルでcDirectの各コンポーネントに名前を入力します。
    • getCustomer: "getCustomer"
    • addCustomer: "addCustomer"
    • updateCustomer: "updateCustomer"
    • deleteCustomer: "deleteCustomer"
    エンドポイントを一意に識別する任意の文字列を入力します。
  8. getAllCustomersというラベルが付いたcSetBodyコンポーネントの[Basic settings] (基本設定)ビューで、[Language] (言語)リストから[Simple] (シンプル)を選択し、[Expression] (式)フィールドに"${ref:customers}"と入力します。
    このステップを繰り返し、次のラベルでcSetBodyの各コンポーネントに単純式を入力します。
    • getCustomer: "${bean:customers.getCustomer}"
    • addCustomer: "${bean:customers.addCustomer}"
    • updateCustomer: "${bean:customers.updateCustomer(${body[0]}, ${body[1]})}"
    • deleteCustomer: "${bean:customers.deleteCustomer}"
  9. cLogコンポーネントはデフォルト設定のままにしておきます。
  10. Studioでルートを実行します。
    RESTサービスは、JWT検証が有効な状態でhttp://localhost:8090/services/customers/で利用できるようになります。
  11. PostmanからGETリクエストを送信します。
    1. [Auth Type] (認証タイプ)リストで、OAuth 2.0を選択します。
    2. [Add authorization data to] (認証データの追加先)リストで、[Request Headers] (リクエストヘッダー)を選択します。
    3. [Token] (トークン)フィールドに、https://login.microsoftonline.com/<tenant ID>/oauth2/tokenから取得したアクセストークンをコピーします。
    RESTサービスから正常なレスポンスが返ってきます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。