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