Envio de SMS com falha de autenticação e/ou autorização

Nesse caso de uso o envio do SMS é feito e espera-se para cada requisição HTTP um retorno 200 OK como sucesso do envio, porém uma falha de autenticação e/ou uma falha de autorização acontecem.

Público alvo deste caso de uso

Analista de IAM, ou qualquer outro profissional que será responsável pela administração do Blazon.

Objetivo

Esse cenário tem como objetivo descrever como realizar as configurações adequadas do provedor de SMS de forma a capturar o comportamento de falha de envio por falha de autenticação e/ou autorização.

Descrição

No ambiente de execução deste cenário, ocorrem alguns erros de envios de SMS para alguns provedores devido à falhas de autenticação e/ou autorização.

No entanto esses SMS que são dados como falhas genéricas de envio, estão sem o tratamento correto do problema por não existir a configuração dos retornos para esses casos específicos.

Com as configurações de retornos corretas pode-se discriminar as falhas de envios pos falhas de autenticação e/ou autorização.

Requisição

Essa seção apresenta na tabela abaixo as definições relacionadas à requisição HTTP para o envio do SMS usando uma API externa.

Item
Valor

Método HTTP

POST

URL

https://sms.services/api/send-sms.php

Segurança

Autenticação HTTP básica

Cabeçalhos

  • Accept: application/json

  • Content-Type: application/json

Body

{
  "telefone": "34---------",
  "mensagem": "Token de autenticação Blazon: 154567"
}

Com as configurações acima a API envia um SMS para o telefone descrito no JSON do body, contendo a mensagem definida juntamente com o token de acesso.

Resposta

Essa seção apresenta as configurações das respostas HTTP esperadas tanto de sucesso como as de falha de autenticação e a de falha de autorização.

Resposta de envio da API de SMS

A tabela abaixo descreve as informações de retorno da API de SMS quando o envio ocorre com sucesso.

Item
Descrição

HTTP STATUS

200 OK

Body

{
    "status": "SUCESSO"
}

Response-type

application/json

Resposta de falha de autenticação

A tabela abaixo descreve as informações de retorno da API de envio quando ocorre uma falha de autenticação. De acordo com a documentação o código de HTTP 401 descreve uma tentativa de acesso não autenticado.

Item
Descrição

HTTP STATUS

401 Unauthorized

Body

{
    "status": "NÃO AUTENTICADO"
}

Response-type

application/json

Resposta de falha de autorização

A tabela abaixo descreve as informações de retorno da API de envio quando ocorre uma falha de autorização. De acordo com a documentação o código de HTTP 403 descreve uma tentativa de acesso não autorizado.

Item
Descrição

HTTP STATUS

403 Forbidden

Body

{
    "status": "NÃO AUTORIZADO"
}

Response-type

application/json

Qualquer retorno diferente dessas 3 possibilidades deverá ser considerado FALHA genérica.

Configurações

As configurações descritas nessa seção são referenciadas na documentação do Administrador na página Configurando um provedor de SMS.

Configurações da Requisição

Todas as configurações são realizadas no detalhamento do provedor na aba Configurações:

  • O método HTTP e URL são definidos no topo do card da aba de Configurações;

  • A configuração de Segurança é feita na aba Segurança selecionando o tipo "Autenticação HTTP Básica";

  • A configuração dos cabeçalhos é feita na aba Cabeçalhos, adicionando-se os dois cabeçalhos descritos;

  • A configuração do Body é feita na aba Body, configurando o media-type application/json e com o conteúdo:

    • {
        "telefone": "${[to]}",
        "mensagem": "Token de autenticação Blazon: ${[token]}"
      }

Configuração dos Retornos

A configuração dos retornos, feito na aba Retornos, deve evidenciar quando o retorno é um 200 OK com sucesso no envio. Além disso deve evidenciar as falhas de envios por erros de autenticação e/ou autorização.

Dado o cenário e o fato de que os retornos são avaliados na ordem, sugere-se a seguinte configuração dos Retornos:

Retorno
Descrição

Retorno de falha de autenticação

retorno quando o código HTTP é 401. Será considerado como FALHA de autenticaçã.

Retorno de falha de autorização

retorno quando o código HTTP é 403. Será considerado como FALHA de autorização.

Retorno da API de SMS

retorno quando o código HTTP é 200 e não cai no retorno anterior. Será considerado como SUCESSO.

Retorno padrão

retorno diferente do que está definido nos retornos anteriores. Será considerado como FALHA.

Analisando os retornos acima, observa-se que qualquer retorno 401 que voltar pro Blazon, será definido como FALHA de autenticação.

Qualquer retorno 403 que voltar pro Blazon, será definido como FALHA de autorização.

Caso o retorno seja 200 OK vai casar com a definição do retorno de envio da API e será definido como SUCESSO.

Qualquer coisa diferente disso vai cair no retorno padrão que será considerado como FALHA.

As configurações dos retornos descritos, na tabela acima, estão detalhadas abaixo:

Retorno de falha de autenticação

Como esse retorno tem que validar apenas o código HTTP 401 sugere-se a configuração usando o tipo Código HTTP que é mais simples e direta.

Campo
Valor

Tipo

Código HTTP

Valor

401

Status

Falha

Situação

Falha de autenticação

Observa-se que a configuração verifica apenas o código de retorno, se ele é 401 será detectado como FALHA de autenticação.

Retorno de falha de autorização

Como esse retorno tem que validar apenas o código HTTP 403 sugere-se a configuração usando o tipo Código HTTP que é mais simples e direta.

Campo
Valor

Tipo

Código HTTP

Valor

403

Status

Falha

Situação

Falha de autorização

Observa-se que a configuração verifica apenas o código de retorno, se ele é 403 será detectado como FALHA de autorização.

Retorno da API de SMS

Como esse retorno tem que validar apenas o código HTTP 200 sugere-se a configuração usando o tipo Código HTTP que é mais simples e direta.

Campo
Valor

Tipo

Código HTTP

Valor

200

Status

Sucesso

Situação

Sucesso no envio

Observa-se que a configuração verifica apenas o código de retorno, se ele é 200 será detectado como SUCESSO no envio

Nota

A configuração do retorno padrão é intuitiva e basta definir o status como Falha e definir a situação como Falha no envio do SMS.

Nesse caso qualquer coisa que retornar diferente do que foi configurado nos retornos anteriores será dado como FALHA.

Last updated

Was this helpful?