Segurança
Segurança
Para verificar a confiabilidade do emissor das requisições, será enviado no Header uma chave de segurança no padrão Basic Authentication. A chave a ser verificada será no seguinte formato:
Exemplo:
Authorization: Basic dml2YXJlYWw6NTk0RjgwM0IzODBBNDEzOTZFRDYzRENBMzk1MDM1NDI=
Validação de Segurança SECRET_KEY
Todas as nossas requisições de integração de leads contém o header Authorization
com informações do emissor da requisição, abaixo temos um exemplo em NodeJS de como pegar esse header do request, decodar e confrontar com uma chave que podemos enviar para vocês.
Lembrando que a SECRET_KEY
é por CRM não é por cliente, ou seja, não deve ser utilizada para identificação do cliente (anunciante) e sim para validar se a requisição está sendo realizado pelo GrupoZap.
Supondo que já enviamos a SECRET_KEY
594F803B380A41396ED63DCA39503542
:
NodeJS/Javascript
- 1 - Obter o header
Authorization
;
const authorization = req.headers.Authorization;
// valor de authorization será `Basic dml2YXJlYWw6NTk0RjgwM0IzODBBNDEzOTZFRDYzRENBMzk1MDM1NDI=`
- 2 - Ignore
Basic
e decodifique somente o valor;
const base64 = authorization.split(' ')[1];
// 'dml2YXJlYWw6NTk0RjgwM0IzODBBNDEzOTZFRDYzRENBMzk1MDM1NDI='
const value = new Buffer(base64, 'base64').toString('utf-8');
// 'vivareal:594F803B380A41396ED63DCA39503542'
- 3 - Valide a
SECRET_KEY
;
// 'vivareal:594F803B380A41396ED63DCA39503542'
const secretKey = value.split(':')[1];
// 594F803B380A41396ED63DCA39503542
if (secretKey !== SECRET_KEY) {
return res.sendStatus(401);
}
Caso a chave não for a que enviamos, deverá retornar response statusCode 401, provavelmente a requisição não foi realizada pelo GrupoZap.