Ativando a autenticação do token baseada em nome de usuário e senha para serviços do Watsons

Para reduzir o tempo de resposta para os serviços do Watson conectados, é possível ativar a autenticação do token para obter e armazenar em cache os tokens relacionados a um conjunto específico de credenciais para cada serviço. Isso reduz atrasos na conversa para o cliente, reduzindo a frequência de consultas LDAP na Versão 1.0.0.5a e mais recente.

Ao ativar a autenticação do token para a autenticação básica, um token é recuperado na primeira vez em que uma consulta ocorre com um conjunto específico de credenciais de serviço. Após a primeira consulta, o token é armazenado em cache usando uma chave que inclui a combinação de nome de usuário e senha para autenticação básica. Quaisquer solicitações subsequentes para esse serviço usando o mesmo conjunto de credenciais usarão o token para autenticar em vez do nome do usuário e senha. Se a solicitação de serviço falhar porque o token atingiu o tempo limite, um novo token será recuperado e armazenado em cache. Conforme explicado em Tokens para autenticação, os tokens do serviço expiram após uma hora. Os caches de tokens de autenticação expiram após 24 horas e são atualizados somente quando uma solicitação para um serviço é feita.

Evite problemas: ao alterar as credenciais para um dos serviços em uma ação do Voice Gateway, você deve especificar que essa autenticação de token está ativada nas novas credenciais. Caso contrário, a autenticação do token será revertida para a autenticação básica padrão.

Configurando a autenticação do token em uma configuração JSON de diversos locatários

É possível ativar a autenticação do token em um arquivo de configuração JSON, configurando cada um dos serviços para usar tokenAuthEnabled, tokenServiceProviderUrl e tokenServiceUrl. A configuração JSON a seguir mostra como ativar a autenticação do token para um locatário específico.

Nota: quando a autenticação do token estiver ativada e o atributo tokenServiceUrl no objeto conversation não for definido, automaticamente será utilizado o valor url para a API do Watson Assistant. É possível configurar a propriedade url para o Watson Assistant ser https://gateway.watsonplatform.net/conversation/api ou https://gateway.watsonplatform.net/assistant/api.

{
    "tenants": [
      {
        "tenantURI": "2345556789",
        "description": "Voice Gateway Demo US",
        "whitelistFromUri" : "8765554321",
        "putCallerOnHoldOnTransfer" : "false",
        "conversation": {
            "url": "https://gateway.watsonplatform.net/conversation/api",
            "workspaceID": "a23de67h-e527-40d5-a867-5c0ce9e72d0d",
            "password": "InWtiUpYhF1Z",
            "username": "9h7f54cb-d9ed-46b3-8492-e9a9bf555021",
            "tokenAuthEnabled": true
        },
        "stt": {
            "credentials": {
                "url": "https://stream.watsonplatform.net/speech-to-text/api",
                "username": "9h7f54cb-f28f-4a64-91e1-a0657e1dd3f4",
                "password": "IAB5jfxls0Zt",
                "tokenAuthEnabled": true
            },
            "config": {
                "model": "en-US_NarrowbandModel",
                "profanity_filter": true,
                "smart_formatting": true
            },
            "confidenceScoreThreshold": 0.2,
            "echoSuppression": true,
            "bargeInResume": true
        },
        "tts": {
            "cacheTimeToLive": 336,
          "credentials": {
                "url": "https://stream.watsonplatform.net/text-to-speech/api",
                "username": "9h7f54cb-8b0f-4766-8b15-eaa8f7c3fae7",
                "password": "HcmzFp1kec1P",
                "tokenAuthEnabled": true
            },
            "config": {
                "voice": "en-US_MichaelVoice"
          }
        }

    }]
}

Nota: se a autenticação do token falhar para o IBM® Text to Speech, inclua o tokenServiceUrl nas credentials.

{
        "tts": {
            "cacheTimeToLive": 336,
          "credentials": {
                "url": "https://stream.watsonplatform.net/text-to-speech/api",
                "username": "9h7f54cb-8b0f-4766-8b15-eaa8f7c3fae7",
                "password": "HcmzFp1kec1P",
                "tokenAuthEnabled": true,
                "tokenServiceUrl": "https://stream.watsonplatform.net/text-to-speech/api"
            }
        }
}

Configurando a autenticação do token em um ambiente de locatário único

É possível ativar a autenticação do token em um ambiente de locatário único, configurando as variáveis de ambiente a seguir para cada contêiner.

SIP Orchestrator:

ambiente:
    - WATSON_CONVERSATION_TOKEN_AUTH_ENABLED=true

Media Relay

ambiente:
    - WATSON_TTS_TOKEN_AUTH_ENABLED=true

    - WATSON_STT_TOKEN_AUTH_ENABLED=true