Oracle iOSチャネルの作成

未認証モードと認証モード(チャネルへのアクセスを保護する)の2つのモードで、Oracle Chat Serverに接続するようにチャネルを構成できます。

  • 未認証モード – 未認証モードを使用するのは、クライアントが署名付きJWTトークンを生成できない場合、認証メカニズムが存在しない場合、またはクライアント・ウィジェットがすでに保護されていて認証済ユーザーから参照可能な場合です。
  • 認証モード – 認証がJSON Web Token (JWT)を使用して強制されます。顧客のバックエンド・サーバーによってJWTトークンが生成され、その後Oracle iOS SDKに渡されます。このトークンは、ODA音声、テキストまたはアタッチメント・サーバーへの各リクエストに使用されます。
    ノート

    チャネルへのアクセスを保護するには、トークンは常にリモート・サーバーで生成される必要があります。クライアント・アプリケーションで生成されないようにしてください。
    アプリケーションではODAサーバーに接続する必要がある場合、まずバックエンド・サーバーからのトークンをリクエストし、次にそれを認可ヘッダーに追加します。ODAサーバーによってトークンが検証され、要求が評価された後、ソケットがオープンされるか、接続が拒否されます。
    JWTトークンには、次の要求があります: channelIduserId、要求名のiat (発行時刻)およびexp (有効期限)。iatは、トークンが発行された時刻を示します。これは、UNIXエポック以降に経過した秒数を表す数値である必要があります。expは、UNIXエポック以降に経過した秒数を表す数値である必要があります。発行時刻(iat)の30分以上後に有効期限を設定することをお薦めします。トークン・ヘッダーは次のようになります:
    {
    
     "alg": "HS256",
    
     "typ": "JWT"
    
    }
    トークン本体の例は次のようになります:
    {
    
      "iat": 1569828182,
    
      "exp": 1569831782,
    
      "channelId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    
      "userId": "John"
    
    }
    ノート

    この例で示されているトークンは、署名されていません。実際のトークンは、チャネルの秘密キーによって署名されます。

Oracle iOSチャネルの構成

Oracle iOSチャネルを構成するには:
  1. メニューから「開発」「チャネル」を選択します。
  2. 「ユーザー」を選択します。
  3. 「チャネルの追加」をクリックし、チャネル・タイプとして「Oracle iOS」をクリックします。
  4. ダイアログを完成させます:
    • チャネル名を入力してください
    • 認証済接続の場合:
      • 「クライアント認証の有効化」トグルをオンに切り替えて、SDKがクライアント認証対応チャネルに接続しているかどうかを確認します。
      • 「最大トークン有効期限(分)」で、JWTトークンの最大時間を設定します。
      • セッションの有効期間を設定します。
    • 未認証接続の場合:
      • 「クライアント認証の有効化」トグルをオフに切り替えます。
      • セッションの有効期間を設定します。
    • 「作成」をクリックします。Oracle Digital Assistantによって、SDKの初期化に必要なチャネルIDと秘密キーが生成されます。これらは、チャット・ウィジェットをホストするようにHTMLページを構成する際に必要になるため、手近な場所に保持しておきます。
  5. チャネルをスキルまたはデジタル・アシスタントにルーティングします。
  6. 「チャネル有効」を「オン」に切り替えます。