ハウツーガイド - ヘッダー認証

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

ヘッダー認証を必要とするAPIでは、ユーザーがユーザー入力フィールドを通じてトークンを直接提供する場合、これは簡単に実現できます。

サンプルコネクター - 汎用コネクター

ruby
{
  title: 'My connector',

  connection: {

    fields: [
      {
        name: "token",
        control_type: "string",
        label: "Bearer token",
        optional: false,
        hint: "Available in 'My Profile' page"
      }
    ],

    authorization: {
      type: 'custom_auth',

      apply: lambda do |connection|
        headers("Authorization": "Bearer #{connection["token"]}")
      end
    },

    base_uri: lambda do |connection|
      "https://api.acmestudios.com"
    end
  },

  test: lambda do |connection|
    get('/me')
  end,
}

ステップ1 - コネクションフィールドの定義

connectionキーでは、ハッシュの配列としてfieldsキーに入力フィールドを定義します。 配列内の各ハッシュは、単一の入力フィールドを表します。 その中で、入力フィールドの名前やエンドユーザーに表示されるヒントなどのパラメーターを宣言できます。 この例では、'token'入力フィールドを定義します。

TIP

フィールドを定義するときは、少なくともnameキーを指定する必要があります。 optionalhintcontrol_typeなどの追加属性を使用すると、これらのフィールドの他の側面をカスタマイズできます。 Client Secretなどの機密情報には、control_typeとしてpasswordを使用してください。

Workatoでの入力フィールドの定義の詳細については、コネクションフィールドを参照してください。

ステップ2 - 後続のHTTPリクエストへのトークンの適用

applyキーでは、ユーザーが提供したトークンをキーと値のペアの形式でheader()に渡します。 これにより、Workatoはコネクターが行うすべてのHTTPリクエストにトークンを追加し、各リクエストの認証に役立てます。

ステップ3 - APIのベースURIの設定

このコンポーネントは、APIのベースURLをWorkatoに指示します。 このキーは任意ですが、HTTPリクエストを定義する際に、コネクターの残りの部分で相対パスのみを指定できるようになります。 base_uriの設定の詳細については、ベースURI設定を参照してください。

ruby
    base_uri: lambda do |connection|
      "https://api.acmestudios.com"
    end

TIP

このラムダ関数はconnection引数にもアクセスできます。 これは、ユーザーのインスタンスに基づいてAPIのベースURIが変わる可能性がある場合に特に便利です。 connection引数には次の形式でアクセスできます。

ruby
    base_uri: lambda do |connection|
      "https://#{connection['domain'].com/api}"
    end

ステップ4 - コネクションのテスト

エンドユーザーから収集する必要があるフィールドと、それらのフィールドからの入力をどう処理するかを定義したので、次にこのコネクションをテストする方法が必要です。 これはtestキーで処理されます。

ruby
    test: lambda do |connection|
      get("/me")
    end

このブロックでは、受け取ったばかりの新しい認証情報を使用してサンプルリクエストを送信できるエンドポイントを指定する必要があります。 200 OK HTTPレスポンスを受信すると、コネクションをSuccessfulとして表示します。 上記の例では、サンプルエンドポイント/meGETリクエストを送信し、トークンが有効な場合は200レスポンスが返ることを想定しています。

コネクションSDKリファレンス

connectionキー内で使用可能なキーとそのパラメーターに慣れるには、SDKリファレンスを確認してください。

Last updated: