Disponibilizar um meio único e confiável de autenticação e autorização offline de entes da Segurança Pública do Acre. Sejam Policiais Militares, Civis ou Penais.
1º O usuário acessa um sistema autenticado pela esfinge usando o email e senha funcional do Estado
2º A Esfinge se encarrega de verificar se o usuário pertence a algum órgão da Segurança Pública
3º Caso o usuário seja ente da segurança pública, será gerado um token, contento as seguintes informações do usuário:
- Força da Segurança (Polícia Militar, Polícia Civil ou Policia Penal)
- Unidade em que trabalha (Ex.: SEJUSP)
- Função Exercida (Ex.: Agente)
- Permissões (Ex.: Consulta de Indivíduos)
A comunicação com a Esfinge se dá por API REST.
Requisição
POST https://esfinge.pmac.ac.gov.br/auth
Headers: Content-Type: application/json
Body: {
"username": "usuario.sobrenome",
"password": "senha"
}
Resposta
{
"username": "usuario.sobrenome",
"cpf": "00000000000",
"name": "NOME SOBRENOME",
"organ": "PM", // PC,PM,PP
"position": "SOLDADO",
"workplace": 23, // Identificado da Unidade
"roles": ["despachante"], // Lista de Permissões
"tokenData": { // Dados anexados ao token JWT
"cpf": "00000000000",
"o": "PM",
"u": 23,
"f": "despachante"
},
"token": "eyJhbGciOiJSUzI1NiI..." // TOKEN JWT
}
O token utiliza criptografia militar RS256 de 4096bits, com validação via par de chaves (pública, privada).
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwQgwqappGDdEo840rH4B
FNe2l7FbuTv9xo7VsW1hPeY+PKxW17Od4JiCmMfo3ViGP9N20eqxsF9VCQUmvCdS
5f3K9W4i3CMEpQHvo3aaKhJxFPEIVfbqshTXNlnEL6pcEKnlicYwsbS1qc0QILsn
l+2yfg6aO2w3De0LowJ9xig2o2fTgx254YQJjlFK2AxhAItBWnRxDqlcVWON+xTo
F8OxBYEVrOeDvwGsg1kA54EQ6DR5LiqEZcxkp0V3ubulb/p12dKhOVQVjA4S5Nx0
vxh6Ng/QHkZ2WmOJAh2keVib70ATrvDUgnOL6wNuYo1xxU/Kf9WmGHtrUvOYhD93
w1+mJNElRnEHBYuPwsAC6VE0iHDFva0DbP91QUKrMEiAnGZuq/nz1sc7djpmFL3V
rKAOx3wCqPzpkTUuxVJWDl8Zzo5JZcQLmcde0K8Abw0nvF1Cqi7k1q5LISS3Kjfo
1P7MuYljQBI+JiU/r/xru3ri9W8w1jXc/hr9gaodaDWjcXe1d0YmUUG2xuu6MKmN
T4s2T4eMhBl+/uCQNplY0c02gDCogpHnWwkI7Jx+UvsssphjPXMkd1wTJ725lr+b
sWedQZ2pTQtJcbkij7bUYj1SVqGEWFGEL2xEgmbbEjcWu5rpJT6mSX0Y0FG3qZCR
69386EVZnQDwD/Dp2lpmkzUCAwEAAQ==
-----END PUBLIC KEY-----
- Verifcação de senhas fracas
- Notificar o policial caso haja uso indevido seu usuário