Gerenciamento de sessões

As sessões são parte integrante do uso dos Vonage Client SDKs. Uma sessão é um fluxo de comunicação em tempo real entre o Client SDK e os servidores da Vonage.

Criação de uma sessão

Para começar a fazer ou receber chamadas com o Vonage Client SDK, é necessário criar uma sessão. Um pré-requisito para criar uma sessão é ter um usuário e um JWT para esse usuário. Você pode saber mais sobre usuários e JWTs na Crie seu aplicativo guia. Depois de ter um usuário e um JWT associado, você pode chamar o createSession função no SDK. Os exemplos deste guia serão em JavaScript, mas os nomes das funções são os mesmos nas três plataformas.

client.createSession(jwt)
 .then(sessionId => {
    console.log("Id of created session: ", sessionId);
 })
 .catch(error => {
    console.error("Error creating session: ", error);
 });

Se a operação for bem-sucedida, você receberá um ID de sessão. Isso permite que você se reconecte a essa sessão específica novamente, se necessário. As sessões têm um TTL de 15 minutos.

Reconectando uma sessão

Se você quiser se reconectar a uma sessão existente, o createSession A função aceita, opcionalmente, um ID de sessão como parâmetro.

client.createSession(jwt, existingSessionId)
 .then(sessionId => {
    console.log("Id of session: ", sessionId);
 })
 .catch(error => {
    console.error("Error: ", error);
 });

Solução de problemas na criação de sessões

Se você não conseguir criar uma sessão com sucesso, a mensagem de erro exibida fornecerá algumas informações sobre o problema. Aqui estão algumas etapas gerais para solucionar o problema

  1. Verifique se o usuário da Vonage existe enviando uma solicitação GET para o API de usuários
  2. Se o usuário existir, certifique-se de que ele esteja na mesma região ao qual o Vonage Client SDK está tentando se conectar. O user._links O objeto resultante da chamada à API de Usuários conterá a região do usuário.
  3. Insira seu JWT em jwt.io para garantir que o JWT contenha o nome de usuário correto no sub reivindicação e não tenha expirado. Aqui você também pode verificar se a Caminhos do ACL estão corretas e o objeto possui o aninhamento correto.

Atualizando uma sessão

Se você estiver com uma sessão ativa no momento e souber que o JWT usado para criá-la está prestes a expirar, é possível atualizar a sessão com um novo JWT.

client.refreshSession(jwt)
 .then(() => {
    console.log("Session refreshed");
 })
 .catch(error => {
    console.error("Error refreshing session: ", error);
 });

Excluindo uma sessão

Você também pode excluir uma sessão. Isso seria feito, por exemplo, como parte do processo de logout.

client.deleteSession(jwt)
 .then(() => {
    console.log("Session deleted");
 })
 .catch(error => {
    console.error("Error deleting session: ", error);
 });

Tem alguma dúvida?

Caso tenha mais alguma dúvida, problema ou sugestão, entre em contato conosco pelo devrel@vonage.com ou o Slack da Comunidade de Desenvolvedores da Vonage.