Geração do token de segurança

Este tópico lista as características do WebService Json de geração do token de segurança.
Este método deverá ser chamado antes de qualquer requisição à outros métodos que necessitem do token.
O token gerado é válido por 35 segundos, e apenas é possível utilizá-lo uma vez. Apenas usuários que são administradores (que tenham acesso ao sistema EDU02) podem gerar tokens.


Nome do método: getTokenParaIntegracao

1. Parâmetros para chamada do WebService

Parâmetro Descrição Obrigatório Tipo Observação
usuario Usuário administrador do sistema MentorWeb Sim String Informar o usuário administrador da aplicação MentorWeb.
senha Senha criptografada Sim String(32) É a senha do usuário criptografada em SHA1, com mais algumas informações para garantir a segurança da passagem de senha na requisição. Consulte abaixo como deverá ser montada esta senha:
Senha para integração (Acesso restrito) :!:
chave Chave para garantir a segurança da senha repassada Sim String(46) Chave que garante a integridade dos dados passados na requisição. Confira abaixo como montá-la:
Chave para integração (Acesso restrito) :!:


2. Exemplo de chamada do WebService

URL: http://IP:PORTA/APLICACAO/rest/ICorujaCOM/getTokenParaIntegracao


2.1. Exemplo da passagem de parâmetros por Json:

{
    "usuario":"admin",
    "senha":"e715353481f056cd325e07279d6548b5"
}
2.2. Exemplo de chamada do WebService na linguagem PHP

<?php
header('Content-Type: text/html; charset=utf-8');
$curl = curl_init();
 
curl_setopt_array($curl, array(
    CURLOPT_PORT => "8080",
    CURLOPT_URL => "http://192.168.0.66:8080/ICoruja/rest/ICorujaCOM/getTokenParaIntegracao",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => '{"usuario":"","senha":"e715353481f056cd325e07279d6548b5"}',
    CURLOPT_HTTPHEADER => array(
        "cache-control: no-cache",
        "content-type: application/json",
        "postman-token: 74e6008c-0675-fb7c-87d0-23adcbeddd9a"
    )
));
 
$response = curl_exec($curl);
$err      = curl_error($curl);
 
curl_close($curl);
 
if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
 
?>
2.3. Exemplo de chamada do WebService no PostMan

3. Retorno do WebService Json

Para obter o retorno do WebService deve-se verificar o status da requisição http. Sempre que o status for 200, significa que o processo foi realizado com sucesso, e o valor foi inserido corretamente.

3.1. Atributos retornados do WebService para o chamador

Campo Descrição Tipo Observação
chave Retorna a descrição “token” String(5) Valor fixo, “token”. É o nome do parâmetro que deverá ser enviado no cabeçalho da requisição rest dos demais métodos.
valor Retorna o valor do token String(40) Retorna o valor do token. Esse valor deverá ser passado no cabeçalho da requisição dos demais métodos.


Para obter o retorno do WebService deve-se verificar o status da requisição http.

Sempre que o status for 200, significa que o processo foi realizado com sucesso, e o token foi gerado corretamente. Neste caso, o retorno é apresentado conforme o exemplo abaixo:

{
    "chave": "token",
    "valor": "e2470b8bc44fcdc4ed8d645e870d4efa6f14d355"
}

Caso o código de status não for 200, ocorreu alguma falha.
Quando ocorre alguma falha tratada, o WebService irá retornar conforme exemplo abaixo, onde o código do erro deverá ser consultado no tópico 3.2. Possíveis retornos para o chamador do WebService:

{
    "codigoErroClass": "com.edusoft.security.auth.types.TipoErroSecurity",
    "codigoErro": "SEC_00402",
    "central": false
}
3.2. Possíveis retornos para o chamador do WebService

Código Descrição Observação
ICM_00400 Parâmetros inválidos Ocorre quando não foram informados os parâmetros de usuário, senha ou chave.
SEC_00401 Usuário não é administrador do sistema Ocorre quando o usuário enviado como parâmetro não é um administrador do sistema MentorWeb.
SEC_00402 Usuário com login e senha informado não foi encontrado. Ocorre quando não conseguiu recuperar encontrar o usuário com base no usuário e senha enviados.
SEC_00403 Conexão não é segura Ocorre quando a aplicação do MentorWeb não está rodando em um ambiente https. Para garantir a segurança, essa integração só é permitida neste ambiente e por esse motivo o token não é gerado.
SEC_00405 Senha inválida A senha deve ter 46 caracteres.
SEC_00406 O token não pôde ser gerado. Consulte a mensagem de erro.
Verifique se todos os parâmetros foram passados de forma correta, conforme documentação.