sapl icon indicating copy to clipboard operation
sapl copied to clipboard

Urna para votação eletrônica presencial (via tablet)

Open eduard0-moraes opened this issue 3 years ago • 5 comments

Estou procurando informações se alguém já usou o painel de votação em um tablet compartilhado, no qual cada vereador clica no seu usuário, digita sua senha e vota.

Sei que este setor é para questionamentos técnicos, operacionais e não para buscar informações, por isto eu pergunto:

  1. Há como o vereador efetuar login no SAPL via API?
  2. Há como o vereador votar na matéria em aberto via API?

Penso em desenvolver um app no qual seria uma urna eletrônico, e posso disponibilizar para nossa comunidade.

Obrigado por existem e por essa ferramenta tão incrível.

eduard0-moraes avatar Feb 08 '22 17:02 eduard0-moraes

Isso seria bem interessante, pena que não sei se a API tem isso.

hermesalvesbr avatar Feb 10 '22 20:02 hermesalvesbr

Essa funcionalidade seria muito boa, além de ser bem importante.

alan-cleveston avatar Feb 15 '22 15:02 alan-cleveston

O login via API ainda não foi implementado... mas está muito próximo disso... algo em torno de 4hs de programação, no máximo... seria via token e/ou via jwt.

LeandroJatai avatar Mar 07 '22 18:03 LeandroJatai

O Login via Token já funciona mas ainda não está em nenhuma versão oficial: quando gerar uma nova versão será possível utilizá-lo:

**Login:**
$ http post http://localhost:8000/api/auth/token username=admin password=admin

resposta será:
HTTP/1.1 200 OK
Allow: POST, OPTIONS
Content-Language: pt-br
Content-Length: 52
Content-Type: application/json
Date: Mon, 07 Mar 2022 18:26:11 GMT
Server: WSGIServer/0.2 CPython/3.6.9
Vary: Accept-Language, Cookie
X-Frame-Options: ALLOWALL

{
    "token": "2fc1033631aad4e5d0891a5e31198c7724210022"
}

ps: o cliente acima utilizado foi o 'http', enviado via post com dois fields (username, password)... sua app terá o cliente apropriado, uma lib na linguagem da qual o app está sendo implementado.

depois disso é só guardar o token e enviar como header Authorization em toda requisição que exija autenticação:

exemplo:
$ curl -X GET http://localhost:8000/api/protocoloadm/documentoadministrativo/ -H 'Authorization: Token 2fc1033631aad4e5d0891a5e31198c7724210022'

LeandroJatai avatar Mar 07 '22 18:03 LeandroJatai

lembrando que Token é relativamente seguro se o sapl estiver rodando por baixo de um proxy HTTPS

LeandroJatai avatar Mar 07 '22 18:03 LeandroJatai