You are viewing the Portuguese (Brazil) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Classifique esta página:

Twilio Client: Tokens de recursos

O SDK do Twilio Client JavaScript foi renomeado para SDK do Twilio Voice JavaScript.

Você está visualizando a versão 1.X do Voice JavaScript SDK (anteriormente chamado de Twilio Client). Clique aqui para obter informações sobre como migrar para a versão 2.X.

Os tokens de recursos foram descontinuados. Use Access tokens (Tokens de acesso) para todos os casos de uso futuros.

O Twilio Client conta com tokens de recursos para assinar comunicações de dispositivos para a Twilio. Esses tokens são uma maneira segura de configurar seu dispositivo para acessar vários recursos da Twilio. Os tokens de recursos permitem adicionar recursos da Twilio a aplicativos para dispositivos móveis e da Web sem expor seu AuthToken em JavaScript ou qualquer outro ambiente do lado do client (cliente).

Você cria um token em seu servidor e especifica quais recursos deseja que seu dispositivo tenha. Todos os tokens têm um tempo de vida limitado para proteção contra abusos. O tempo de vida é configurável até 24 horas, mas você deve torná‐lo o mais curto possível para seu aplicativo.

O identificador do client (cliente) atualmente pode conter apenas caracteres alfanuméricos e sublinhados.

Criação de tokens

Os tokens de recursos do Twilio são baseados no JSON Web Token padrão. No entanto, se você estiver usando uma das bibliotecas auxiliares oficiais da Twilio, poderá usar a funcionalidade de geração de token para criar tokens facilmente sem ter que saber os detalhes de como eles são construídos. Consulte a documentação da biblioteca que você está usando para obter mais informações.

Os exemplos a seguir usam o módulo [twilio-python][python] para configurar e gerar tokens de recursos.

Permitir conexões de entrada

Para permitir conexões de entrada para um dispositivo, você precisa fornecer ao dispositivo um nome de client (cliente). Uma tentativa de conexão com este nome de client (cliente) acionará um evento de entrada em seu ambiente. Em twilio.js, uma tentativa de conexão de entrada aciona o manipulador de eventos "Twilio.Device.incoming".

from twilio.jwt.client import ClientCapabilityToken

account_sid = 'ACXXXXXXXXXXXXXXX'
auth_token = 'secret'

capability = ClientCapabilityToken(account_sid, auth_token)
capability.allow_client_incoming('tommy')
print(capability.to_jwt())

Um dispositivo configurado com esse token receberá conexões de entrada sempre que alguém tentar se conectar a "tommy", seja usando o substantivo "" do verbo "" ou a API REST.

Se você tiver vários dispositivos configurados para usar o mesmo nome de client (cliente), cada dispositivo receberá a conexão de entrada. No entanto, apenas um dispositivo poderá aceitar a conexão. Em um contact center ou outro cenário de chamada recebida, é altamente recomendável utilizar um nome de client (cliente) exclusivo para cada dispositivo (agente). Para distribuir chamadas entre vários agentes, use o substantivo "" do verbo "" .

A Twilio limita o número de dispositivos simultâneos que você pode criar usando um único nome de client (cliente) para dez; quando a 11a instância do mesmo nome de client (cliente) for registrada, o registro mais antigo será descartado.

Permitir conexões de saída

Para fazer uma conexão de saída a partir de um dispositivo, você precisará configurar um token de recursos com o SID de um aplicativo da Twilio para que a Twilio saiba qual "VoiceUrl" usar para lidar com a conexão. Um Aplicativo da Twilio é apenas uma coleção nomeada de URLs responsáveis por retornar instruções TwiML para controlar chamadas telefônicas e SMSs.

from twilio.jwt.client import ClientCapabilityToken

account_sid = "ACXXXXXXXXXXXXXXX"
auth_token = "secret"
application_sid = "AP123123"

capability = ClientCapabilityToken(account_sid, auth_token)
capability.allow_client_outgoing(application_sid)
print(capability.to_jwt())

Um dispositivo configurado com esse token poderá fazer conexões de saída ao "VoiceUrl" do aplicativo Twilio identificado por "AP123123".

Vários recursos

É perfeitamente válido para configurar um dispositivo com vários recursos. Por exemplo, para configurar um client (cliente) para receber conexões de entrada, bem como iniciar conexões de saída, você criaria um token com ambos os recursos e iniciaria o dispositivo com ele:

from twilio.jwt.client import ClientCapabilityToken

account_sid = "ACXXXXXXXXXXXXXXX"
auth_token = "secret"
application_sid = "AP123123"

capability = ClientCapabilityToken(account_sid, auth_token)
capability.allow_client_incoming("tommy")
capability.allow_client_outgoing(application_sid)
print(capability.to_jwt())

Segurança

A segurança é muito importante para nós e garantimos que você, como desenvolvedor, esteja no controle. Você decide quais direitos de acesso conceder a um dispositivo Twilio Client usando tokens de recursos gerados com uma das nossas bibliotecas auxiliares. Garantimos que qualquer violação dos parâmetros do token seja detectada e que as ações adequadas sejam realizadas.

Expiração de token

Por padrão, todos os tokens gerados com as bibliotecas auxiliares da Twilio expiram após uma hora. Mas você deve configurar essa expiração para ser a mais curta possível para seu aplicativo. Por exemplo, se você tiver um aplicativo somente de saída, poderá definir a vida útil de um token para ser apenas longa o suficiente para estabelecer cada conexão de saída (digamos, 5 segundos) e gerar um novo token sempre que um usuário tentar uma nova conexão.

Se o token expirar enquanto o dispositivo tiver uma conexão ativa, a conexão não será encerrada, mas o dispositivo precisará ser reinicializado com um token válido antes de tentar ou receber outra conexão.

Aqui, nós geramos um token que só é válido por dez minutos. O argumento Time to Live, "ttl", espera o tempo em segundos.

capability = ClientCapabilityToken(account_sid, auth_token, ttl=600)
print(capability.to_jwt())
Classifique esta página:

Precisa de ajuda?

Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.

        
        
        

        Obrigado pelo seu feedback!

        Selecione o(s) motivo(s) para seu feedback. As informações adicionais que você fornece nos ajudam a melhorar nossa documentação:

        Enviando seu feedback...
        🎉 Obrigado pelo seu feedback!
        Algo deu errado. Tente novamente.

        Obrigado pelo seu feedback!

        thanks-feedback-gif