Oauth v1は新規のWeb、モバイル、デスクトップアプリケーションから簡単に標準的な方法で安全認証を可能にするオープンプロトコルです。OAuth v1の使用で認証メカニズムの設定を設定するためには、そのアプリケーションのログイン認証クレデンシャルが必要になるため、まずはウェブアプリケーションにアカウントをログインする必要があります。
OAuth v1の仕組み
- Kore.aiアプリケーションはウェブアプリケーションから未認証のリクエストトークンを取得します。
- Kore.aiアプリケーションはユーザーをウェブアプリケーションのロクインダイアログへ導き直します。
- ユーザーはリクエストトークンを認証してそのアカウントと連結します。
- ウェブアプリケーションはユーザーをKore.ai アプリケーションへ導き直します。
- Kore.aiアプリケーション はリクエストトークンをアクセス トークンに変換します。
- アクセストークンはKore.aiアプリケーションをユーザーの身分として、提供元の保護済のリソースへアクセスことを可能にします。
設定
ボットに認証を定義するには、以下の手順に従います。
- 認証プロファイルを設定するボットを開きます。
- トップメニューから構築タブを選択します。
- 左側のメニューから、構成―>認証プロファイルをクリックします
- 追加をクリックします。新しい認証メカニズムダイアログが開きます。
- 認証タイプドロップダウンリストでoAuth v1を選択します。
- 以下の図とはoAuth v1認証タイプフィールドの作例、タスクのためにカスタマイズした認証を有効にするために定義する必要があります。
oAuth v1を定義する場合、下記のテーブルの説明の通りにフィールドを定義してください。
フィールド名 | 説明 |
---|---|
認証タイプ | oAuth v1に設定します。 |
コールバックURL | エンドユーザーの認証が完了した後、エンドユーザーを導き直しするためにウェブアプリケーションまたはウェブサービスが使用するURLです。oAuth v1の設定を定義すると、Kore.aiアプリケーションがhttps://idp.kore.ai/workflows/callback/をリードオンリー値として提供します。 |
身分の提供元の名前 | ウェブアプリケーションやウェブサービスの名前、例えば、“Twitter”。このフィールドは必須です。 |
コンシューマーキー | Kore.aiアプリケーションがウェブアプリケーションへの認識として提供される値。このフィールドは必須です。 |
コンシューマーシックレット | コンシューマーキーの所有権を確立するために、Kore.aiアプリケーションが提供するシックレット値。このフィールドは必須です。 |
リクエストトークンリンク | Kore.aiアプリケーションが未認証のリクエストトークンを取得するために使用するURL。リクエストトークンとはKore.aiアプリケーションがアクセストークンを取得ためのエンドユーザーからの認証を取得ための値。例えば、https://{tenant}.someCompany.com/oauth/request_token。エンドユーザーの認証の後、Kore.aiアプリケーションからアクセストークンを要求することができます。このフィールドは必須です。 |
アクセストークンリンク | エンドユーザーが認証済のリクエストトークンをアクセストークンと交換するために使用されるURL。アクセストークンとはKore.aiアプリケーションが、エンドユーザーがクレデンシャルのログではなく、エンドユーザーの行為によりウェブアプリケーションやウェブサービスへのアクセスを得るために使用する値です。例えば、https://{tenant}.someCompany.com/oauth/access_token。このフィールドは必須です。 |
ユーザー認証リンク | これは、Kore.aiアプリケーションがアクセストークンを使用してWebアプリケーションまたはWebサービスにアクセスするためのエンドユーザー認証を取得するために使用されるURLです。このフィールドは必須です。ダイナミックフィールド、パスパラメータフィールド、クエリフィールドなどを使用して、認証URLを定義することができます。(例:https://kore.someCompany.com/sap/opu/odata/sap/{{authfield1}}/?$format=json またはhttps://{tenant}.service-now.com/api/now/v1/table/incident)詳細については、タスクのセッション変数とコンテキスト変数を使用を参照してください。 |
コネクタを使用してアクセス | はいを選択して、Kore.aiコネクタエージェントを使用したKore.aiボットへのアクセスを有効にします。このオプションは、Kore.aiコネクタ エージェントが企業の社内ネットワークで構成、有効化されている場合に表示されます。詳細については、Kore.ai Connectorの使用をご覧ください。 |
フィールドの追加
追加をクリックして追加のフィールドダイアログを開き、追加の認証入力フィールドを表す1つ以上のキー/値の組み合わせを入力します。デフォルトのユーザー名とパスワードのフィールドが承認入力のニーズを満たしていない場合は、 追加フィールド を追加することで、エンドユーザーに表示されるキーと値のペアとしてカスタムフィールドを追加できます。これらのフィールドは、たとえば、ユーザー名フィールドとパスワードフィールドに加えて、認証プロセスでPINコードが必要な場合に使用することができます。下図のように、追加のフィールドが追加されます。
以下のフィールドを指定 してください:
- フィールド キー―認証に指定するカスタム フィールド名です。
- フィールド値 – 認証時に指定するカスタムフィールドの値。
- 追加をクリックして追加のフィールドを保存します。
追加のフィールドを追加する場合、認証フィールドセクションの追加をクリックしてください。
認証フィールドの追加
デフォルトでは、ボットリクエストメッセージのヘッダーの一部として、認証フィールドは設定されていません。ボットリクエストに認証フィールドが必要、または想定される認証がヘッダーの一部ではない場合(例:ソーシャルセキュリティ番号やPINなど)、認証フィールドの追加をクリックして下図の通りにフィールドを定義します。
- フィールドタイプフィールドに、以下のうちの一つを選択することができます。 必須のボットリクエストメッセージの位置および認証フィールドのタイプの次第です。
- ヘッダー – ボットは認証フィールドをリクエストのヘッダーの一部として求めます。
- ペイロード – ボットは認証フィールドをリクエスト本体のコンテンツの一部として求めます。
- クエリー文字列 – ボットは認証フィールドをリクエストのボディにあるクエリー として予想します。
- パースパラメータ(PathParam) – 認証フィールドをURLパースリクエストの一部として予想されるボット。
- フィールドキーフィールドに、選択済のフィールドタイプフィールド名を入力してください。
- フィールド値フィールドに、フィールドキーの指定された値を入力してください。
- 追加をクリックします。新規の認証フィールドは認証フィールドのセクションに追加されました。
認証フィールドを追加する場合、認証フィールドセクションの追加をクリックしてください。
認証のテスト
認証を保存した後、ボットの残りのステップの開発を続ける前に、認証ページでテストをクリックして、認証定義をテストすることができます。テストをクリックすると、認証トークンのURLとコンシューマーキーおよびコンシューマートークンを使用してテストが実行されます。テンナンシーが定義済みの場合、テスト認証ダイアログが表示されます。テストをクリックすると認証テストを開始します。認証の検証が完成の場合、テスト認証のウィンドウが閉じて、その検証の結果、成功や失敗は即刻、テスト認証のボタンに表示します。認証失敗の場合、“認証テスト失敗”のメッセージがヘッダーおよびレスポンスのタブとともに表示されます。