ハウツーガイド - ベーシック認証
通常、ベーシック認証では、リクエストを行う際にusernameとpasswordの組み合わせが必要です。 その2つのフィールドをコネクションフィールド定義に含めてください。
サンプルコネクター - ClickTime
{
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
}- 完全な例については、ClickTimeコネクターの完全なコードを参照してください。
- ClickTime APIを確認してください
ステップ1 - コネクションフィールドの定義
このコンポーネントは、コネクションを確立しようとしているユーザーに表示するフィールドをWorkatoに指示します。 ベーシック認証の場合、コネクションを確立するにはエンドユーザーのusernameとpasswordが必要です。
| ユーザーからの情報 | 説明 |
|---|---|
| username | コネクションを認証する個人のusernameです。 |
| password | コネクションを認証する個人のpasswordです。 |
これは、ハッシュの配列を受け入れるfieldsキーで実行されます。 この配列内の各ハッシュは、個別の入力フィールドに対応します。
fields: [
{
name: 'username',
optional: true,
hint: 'Your email used for login'
},
{
name: 'password',
control_type: 'password',
}
],
TIP
フィールドを定義するときは、少なくともnameキーを指定する必要があります。 optional、hint、control_typeなどの追加属性を使用すると、これらのフィールドの他の側面をカスタマイズできます。 Client Secretなどの機密情報には、control_typeとしてpasswordを使用してください。
Workatoでの入力フィールドの定義の詳細については、コネクションフィールドを参照してください。
ステップ2 - authorizationの定義
このコンポーネントは、コネクションを確立するために入力フィールドから受け取った値をどう処理するかをWorkatoに指示します。 これはauthorizationキーで処理されます。 このキーでは、まず認可のtypeを定義します。 ベーシック認証にはbasic_authを使用してください。
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設定を参照してください。
base_uri: lambda do |connection|
"https://app.clicktime.com"
endTIP
このラムダ関数はconnection引数にもアクセスできます。 これは、ユーザーのインスタンスに基づいてAPIのベースURIが変わる可能性がある場合に特に便利です。 connection引数には次の形式でアクセスできます。
base_uri: lambda do |connection|
"https://#{connection['domain']}.com/api"
endステップ5 - コネクションのテスト
エンドユーザーから収集する必要があるフィールドと、それらのフィールドからの入力をどう処理するかを定義したので、次にこのコネクションをテストする方法が必要です。 これはtestキーで処理されます。 これはルートレベルのキーであり、connection定義の外側にあることに注意してください。
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: