amagovpt / autenticacao.gov

Middleware Oficial de Identificação Eletrónica em Portugal - Cartão de Cidadão, da Chave Móvel Digital e Sistema de Certificação de atributos profissionais
https://www.autenticacao.gov.pt
European Union Public License 1.2
172 stars 33 forks source link

Gestão de SSO delegada ao cliente da API #26

Open cristiano2lopes opened 4 years ago

cristiano2lopes commented 4 years ago

Este PR dá resposta ao problema indicado no issue #11. Fa-ló expondo o método setSSO ao consumidor da API. Este fica responsável pela gestão do SSO.

Haveria claramente outras forma de atacar o problema, não expondo o método, por exemplo reproduzindo o conceito de sessão de assinatura utilizado na assinatura de PDFs em batch.

Esta solução deixa mais responsabilidade ao caller mas é mais versátil e dispensa código especifico para suportar o comportamento dependendo do artefacto a ser assinado (ficheiros pdf, hashes etc).

Do ponto de vista prático pessoal, não me forçou a alterar os ficheiros .i, dado que soluções alternativas obrigariam por certo à definição de novas bridges de tipos de dados. Para isso teria de levar a cabo uma aprendizagem sobre SWIG para a qual não tenho tempo neste momento (embora pareça interessante).