ハウツーガイド - ベーシック認証

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

通常、ベーシック認証では、リクエストを行う際にusernameとpasswordの組み合わせが必要です。 その2つのフィールドをコネクションフィールド定義に含めてください。

サンプルコネクター - ClickTime

ruby
{
  title: 'ClickTime',

  connection: {
    fields: [
      {
        name: 'username',
        optional: true,
        hint: 'Your email used for login'
      },
      {
        name: 'password',
        control_type: 'password',
      }
    ],

    authorization: {
      type: 'basic_auth',

      apply: lambda do |connection|
        user(connection['username'])
        password(connection['password'])
      end
    },

    base_uri: lambda do |connection|
      "https://app.clicktime.com"
    end
  },

  test: lambda do |connection|
    get("/api/1.3/session")
  end

  #More connector code here
}

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

このコンポーネントは、コネクションを確立しようとしているユーザーに表示するフィールドをWorkatoに指示します。 ベーシック認証の場合、コネクションを確立するにはエンドユーザーのusernamepasswordが必要です。

ユーザーからの情報説明
usernameコネクションを認証する個人のusernameです。
passwordコネクションを認証する個人のpasswordです。

これは、ハッシュの配列を受け入れるfieldsキーで実行されます。 この配列内の各ハッシュは、個別の入力フィールドに対応します。

ruby
    fields: [
      {
        name: 'username',
        optional: true,
        hint: 'Your email used for login'
      },
      {
        name: 'password',
        control_type: 'password',
      }
    ],

設定済みClickTimeコネクションフィールド

TIP

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

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

ステップ2 - authorizationの定義

このコンポーネントは、コネクションを確立するために入力フィールドから受け取った値をどう処理するかをWorkatoに指示します。 これはauthorizationキーで処理されます。 このキーでは、まず認可のtypeを定義します。 ベーシック認証にはbasic_authを使用してください。

ruby
    authorization: {
      type: 'basic_auth',

      apply: lambda do |connection|
        user(connection['username'])
        password(connection['password'])
      end
    }

ステップ3 - 後続のHTTPリクエストへの認証情報の適用

次に、このコネクターのユーザーから受け取ることを想定しているusernameとpasswordをどのように使用するかをWorkatoに指示する必要があります。 これはapplyキーで行います。このキーでは、connection引数を通じて収集されたusernameとpasswordを参照できます。 applyキーに指定した指示は、コネクションが確立された後、このコネクターが送信するすべてのHTTPリクエストに適用されます。

この例では、受け取ったusername(connection['username'])がすべてのリクエストのuserフィールドに追加されるように定義しています。 password(connection['password'])についても同様に、すべてのリクエストのpasswordフィールドに追加されるように定義しています。

ステップ4 - APIのbase URIの設定

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

ruby
    base_uri: lambda do |connection|
      "https://app.clicktime.com"
    end

TIP

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

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

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

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

ruby
    test: lambda do |connection|
      get("/api/1.3/session")
    end

このキーでは、受け取ったばかりの新しい認証情報を使用してサンプルリクエストを送信できるエンドポイントを指定する必要があります。 200 OK HTTPレスポンスを受信すると、コネクションをSuccessfulとして表示します。 上記の例では、/api/1.3/sessionエンドポイントにGETリクエストを送信し、指定されたusernameとpasswordが有効な場合に200レスポンスを期待しています。

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

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

Last updated: