A autenticação remota pode ser utilizada para aproveitar sua base de usuários sem que eles precisem se cadastrar no Acelerato. A seguir veja como fazer esta configuração:
Etapa 1 – Acesse o menu Configurações > Configurações Gerais do Sistema > Autenticação Remota
Etapa 2 – Ative a autenticação remota escolhendo sim no combo, e verá um formulário como a seguir.
Deverão ser fornecidos os seguintes dados:
- A URL para a qual seus usuários serão redirecionados para realizarem a autenticação em seu sistema;
- A URL para a qual serão redirecionados quando realizarem logout no Acelerato.
Etapa 3 -Salve essas informações clicando no botão Salvar.
Após salvar as alterações, um Token de segurança, utilizado para autenticar todas as requisições de autenticação remotas, será gerado e exibido na tela. Caso necessário, é possível gerar novos tokens de autenticação, invalidando o anterior, clicando no botão abaixo deste campo.
Tendo o Token para Autenticação em mãos, pode-se preparar o script para autenticação remota, de acordo com suas preferências.
Este script deve chamar a URL http://cliente.acelerato.com/logar/remoto passando os seguintes parâmetros:
name:
O nome do usuário requisitando autenticação. Este nome será utilizado para cadastrar o usuário caso o e-mail informado não esteja vinculado a nenhum usuário.
email:
O e-mail do usuário requisitando autenticação. Este e-mail será utilizado para buscar o usuário na base de dados do Acelerato. Caso não seja encontrado nenhum usuário, o sistema cadastrará automaticamente um usuário utilizando este e-mail.
token:
Token gerado pelo sistema na ativação da autenticação remota.
http://cliente.acelerato.com/login/normal.
Abaixo, segue um exemplo de implementação do script para autenticação remota, em Java:
public class ExemploDeAutenticacaoServlet extends HttpServlet {
private static final long serialVersionUID = 8223552608206882450L;
private final String URL_PARA_AUTENTICACAO = "https://cliente.acelerato.com/logar/remoto";
private final String TOKEN_PARA_AUTENTICACAO = "IolC/O+C2bGxBNFbtiuewA==";
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.sendRedirect(getUrlParaRedirecionamento());
}
private String getParametrosParaLogin() {
// Nome completo do Usuário requisitando autenticação
String name = "Usuário";
// E-mail do Usuário requisitando autenticação
String email = "usuario@email.com";
// String utilizada para geração do hash de segurança
String toHash = name + email + TOKEN_PARA_AUTENTICACAO;
// Hash SHA256 gerado para validação da autenticidade da requisição
// Para esse exemplo, utilizamos o Apache Commons para geração do Hash
String hash = DigestUtils.sha256Hex(toHash.getBytes("ISO-8859-1"));
String parametros = "name=" + encodeParametro(name) + "&email=" + encodeParametro(email) + "&hash=" + encodeParametro(hash);
return parametros;
}
private String encodeParametro(String value) {
try {
return URLEncoder.encode(value, "ISO-8859-1");
} catch(Exception e) {
return null;
}
}
private String getUrlParaRedirecionamento() {
return URL_PARA_AUTENTICACAO + "?" + getParametrosParaLogin();
}
}
Abaixo, segue um exemplo de implementação do script para autenticação remota, em PHP:
$baseURL = 'https://cliente.acelerato.com/logar/remoto';
// Nome completo do Usuário requisitando autenticação
$nome = 'Usuário';
// E-mail do Usuário requisitando autenticação
$email = 'usuario@email.com';
// Token fornecido pelo Acelerato
$token = 'IolC/O+C2bGxBNFbtiuewA==';
// Hash SHA256 gerado para validação da autenticidade da requisição
$hash = hash('sha256', utf8_decode($nome.$email.$token));
// String para redirecionamento
$loginURL = $baseURL."?name=".urlencode($nome)."&email=".urlencode($email)."&hash=".urlencode($hash);