Mosaico
  • 👋Bem-vindo ao Guias do Mosaico
  • Plataformas comuns da Administração Pública
    • Serviço de Autenticação
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Assinatura Digital
      • Quais os pré-requisitos técnicos da adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Plataforma de Integração da AP (iAP-PI)
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
      • Camada de negócio
        • Atores de negócio
        • Serviços de negócio
    • Plataforma de Pagamentos da AP (PPAP)
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
        • Adesão à PPAP
        • Simplex de urbanismo: Adesão à PPAP e ao DUC no âmbito do RJUE (DL 10/2024)
          • FAQs DL 10/2024
      • Como está estruturada a plataforma?
      • Como usar o serviço?
    • Plataforma de Mensagens (GAP)
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
      • Como usar o serviço?
    • Plataforma Multicanal (PMC)
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
        • Política de gestão de acessos da PMC
    • Bolsa de Documentos
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Catálogo de Entidades e Serviços (CES)
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Sistema de Certificação de Atributos Profissionais (SCAP)
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Sistema de Autorizações
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Dados.Gov
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Serviço Público de Notificações Eletrónicas (SPNE)
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • ePortugal
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
        • Modelo Ligar
        • Modelo Aproximar
        • Modelo Integrar
      • Como está estruturada a plataforma?
    • Livro Amarelo Eletrónico
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
    • Interoperabilidade Documental
      • Quais os pré-requisitos técnicos de adesão?
      • Qual o processo de adesão?
      • Como está estruturada a plataforma?
  • 📖Guias Práticos
    • Como funciona o Serviço de Autenticação
      • Autenticação de um utilizador junto de uma entidade utilizando o Cartão do Cidadão
      • Autenticação de um utilizador junto de uma entidade utilizando a Chave Móvel Digital
    • Integrar com o Serviço de Autenticação
      • Entidade no papel de fornecedora de serviços de autenticação web
      • Entidade no papel de fornecedora de atributos
    • Consumir um serviço da iAP-PI
    • Boas práticas para a publicação de API a consumir pela Administração Pública
      • Crie APIs RESTful robusta
      • Reforce a segurança
      • Crie esquemas de mensagens bem definidos e fáceis de consumir
      • Padronize os dados e codificação
      • Teste o desempenho e escalabilidade das APIs
      • Publicar e documentar a API
    • Usabilidade - Como realizar testes de usabilidade?
    • Usabilidade - Como desenvolver aplicações para dispositivos móveis?
      • Boas Práticas
      • Componentes da Interface
    • Cloud - Guia para modelos de implementação
      • Cloud pública
      • Cloud privada
      • Cloud comunitária
      • Cloud híbrida
      • Comparativo dos modelos de implementação
    • Cloud - Guia para modelos de serviço
      • IaaS - Infrastructure as a Service
      • PaaS - Plataform as a Service
      • SaaS - Software as a Service
      • Comparativo dos Modelos de Serviços Cloud
    • GuIA Responsável para a IA
      • Responsabilização
      • Transparência
      • Explicabilidade
      • Justiça
      • Ética
    • O que é o ciberataque?
    • Como criar um plano de testes?
    • Como documentar testes funcionais?
    • Quais os tipos de testes que pode realizar?
    • Como disponibilizar e reutilizar dados abertos
      • Publicar dados abertos no dados.gov
      • Findability - Tornar os dados localizáveis
      • Accessibility – Tornar os dados acessíveis
      • Interoperability – Promover a interoperabilidade dos dados
      • Reusability – Facilitar a reutilização de dados
      • Recomendações para ficheiros CSV
      • Recomendações para melhorar o nível de abertura dos dados
      • Reutilizar dados abertos
    • Como aderir ao Fornecedor de Atributos de Funcionário (FAF)?
      • Como aderir?
      • Como fazer o Registo de Entidades?
        • Tipo de Entidade
        • Registo de Entidade
        • Adicionar os Funcionários à Entidade
          • Editar Entidade
          • Adicionar Funcionário
            • Dados Pessoais
            • Cargos Profissionais
            • Poderes
            • Resumos e conclusões
          • Upload do Excel
          • Termos e Condições
      • Como fazer a Gestão de Entidades?
        • Ações sobre funcionários
        • Cancelar Registo
    • Decreto-Lei nº 49/2024 - Perguntas Frequentes
      • Inventário de Portais e Serviços
      • Calendarização da Concretização das Medidas
      • Desenho dos Serviços Federados
        • Serviços e a aplicação do Ágora Design System
        • Requisitos
        • Fluxo do serviço federado
        • Protótipos
      • Inventário de Linhas de Atendimento
  • SDG - Plataforma Digital Única
    • Regulamentos e diretrizes
    • Requisitos dos serviços digitais
  • Adesão ao Fornecedor de Evidências – Emissor de Evidência
    • Tipos de evidências
    • Endpoints
      • GetEvidence
        • Estrutura dos parâmetros de entrada
        • Estrutura dos parâmetros de saída
  • Adesão ao Fornecedor de Evidências – Localizador de Evidência
    • Comunicação com o Localizador de Evidência
      • Redireccionamento para o Localizador de Evidência
      • Endpoints do Portal de Serviços
      • Redireccionamento para o Portal de Serviço
      • Consulta do Estado da Evidência
    • Códigos de Resposta
  • 🚀Serviços de Nova Geração
    • Arquitetura de Referência para a nova geração de Serviços Públicos Digitais
      • Conceitos
      • Princípios Orientadores
      • Standards
      • Metamodelo
      • Plataformas comuns
        • Estrutura Classificativa
        • Descrição
        • Serviços e Interfaces
      • Padrão de referência de solução aplicacional
      • Caso de utilização
    • Representação de novos serviços públicos
      • Consultar pontos da carta de condução e contraordenações
      • Ativar Chave Móvel Digital (CMD) com biometria
        • Ativar CMD com recurso à biometria via Aplicação
        • Ativar CMD com recurso a biometria via Videochamada
      • Confirmar a alteração de morada
      • Adquirir o certificado de registo criminal por telefone
  • 🗃️Casos de Estudo
    • Como o Ticapp usa a ferramenta ágil Jira
      • Gestão do Backlog
      • Release
      • Sprint
      • Reports
Powered by GitBook
On this page
  • Autenticação baseada em SAML v2.0 (Security Assertion Markup Language)
  • Autenticação baseada em OAuth
  1. Guias Práticos
  2. Integrar com o Serviço de Autenticação

Entidade no papel de fornecedora de serviços de autenticação web

A integração das entidades enquanto fornecedoras de serviços de autenticação pode ser feita de acordo com o protocolo SAML v2.0 ou OAuth2.

PreviousIntegrar com o Serviço de AutenticaçãoNextEntidade no papel de fornecedora de atributos

Last updated 2 years ago

Autenticação baseada em SAML v2.0 (Security Assertion Markup Language)

O formato de dados trocados entre o Serviço de Autenticação e as entidades é baseado em SAML v2.0 (Security Assertion Markup Language), de forma a assegurar a autenticidade e integridade de todas as transações. A utilização do SAML HTTP Post Binding associado ao SAML Web Browser SSO Profile permite que a autenticação seja efetuada tecnicamente pelo browser do utilizador, sem necessidade de ligação física entre as entidades e o Serviço de Autenticação. As comunicações entre o Serviço de Autenticação e as entidades são efetuadas sobre HTTP em canal cifrado – Secure Socket Layer (SSL) ou Transport Layer Security(TLS). Esta comunicação é realizada sobre Internet.

O Serviço de Autenticação responde à entidade com informação autorizada pelo utilizador. A resposta inclui os atributos solicitados no pedido de autenticação. Esta ligação é também efetuada sobre HTTP em canal cifrado – SSL ou TLS. A utilização de canais cifrados, associado ao formato específico SAML garante que a troca de dados seguir as seguintes considerações:

  • Privacidade de dados – a utilização de canais cifrados garante que os dados do utilizador se mantêm privados, impedindo a sua visualização por terceiros (ex. visualização de dados por sniffer de rede);

  • Integridade de dados – o protocolo SAML, através de assinatura digital nos pedidos e respostas de autenticação SAML, garante a integridade de dados de modificações não autorizadas (ex. ataque por Man-in-the Middle). De acordo com o anteriormente descrito, a utilização do Serviço de Autenticação é efetuada apenas através do ambiente Web e sobre Internet.

A imagem acima descreve as interações entre o portal da entidade e o Serviço de Autenticação, usando o browser do utilizador como intermediário. As adaptações a realizar pela entidade recaem nos pontos 2 e 4, que correspondem respetivamente à criação do pedido de autenticação SAML e no consumo da resposta proveniente do Serviço de Autenticação:

• Pedido de autenticação – Corresponde ao pedido de identificação por parte da entidade. Permite reconhecer a origem do pedido, através da assinatura digital por um certificado digital x.509v3 associado à entidade. O pedido contém quais os atributos que devem ser obtidos (ex. NIF);

• Resposta de autenticação – contém o resultado da autenticação efetuada pelo Serviço de Autenticação. Encontra-se na resposta os atributos solicitados previamente pela entidade. Esta mensagem é assinada digitalmente pelo Serviço de Autenticação de forma a garantir a integridade da informação.

Autenticação baseada em OAuth

O FA também utiliza a autenticação Implicit Grant do OAuth2 para fazer a autenticação e devolver os atributos pedidos em três passos. Primeiro é necessário obter um token de autenticação, sendo que o processo de autenticação é semelhante ao fluxo de autenticação via SAML (inclusivamente as mensagens trocadas entre os subsistemas do FA e a CMD são feitos via SAML). De seguida é necessário fazer um pedido REST com esse token de forma a iniciar o processo de obtenção de dados, e o FA retorna um identificador do processo de autenticação que o sistema requerente deve depois utilizar para realizar um ou mais pedidos de obtenção de dados. Este fluxo assíncrono pode ser representado de forma simplificada pelo seguinte esquema:

  1. É feito um pedido GET ao site do FA com os seguintes parâmetros de entrada (devem ser incluídos como query strings):

    a. response_type - valor token;

    b. client_id - identificador do sistema requerente, acordado previamente;

    c. redirect_uri - url de redireccionamento para voltar para o sistema requerente. Este parâmetro é opcional e caso não seja enviado será devolvido para uma página estática do FA;

    e. state - é um parâmetro que não é utilizado de momento;

    f. authentication_level - nível de autenticação pretendido (OPCIONAL);

    g. default_selected_tab - aba que aparece selecionada por defeito (OPCIONAL);

    h. hidden_tabs - permite esconder abas. Pode ter vários valores. (OPCIONAL).

  2. É pedido ao utilizador que autorize a leitura dos atributos por parte do sistema requerente. O utilizador depois pode utilizar o cartão de cidadão ou a Chave Móvel Digital para se autenticar.

  3. Assim que é validada a autenticação com sucesso, é devolvido ao sistema requerente através de parâmetros na query string:

    a. token_type - valor Bearer;

    b. expires_in - long representando o tempo de vida do access token;

    c. access_token - token gerado pelo FA para se utilizar no segundo passo de obtenção dos atributos;

    d. refresh_token - token gerado pelo FA para obter novos access_token sem

    necessitar de efetuar nova autenticação

  4. O sistema requerente após obtenção do access token no fluxo anterior, envia-o para a API do FA através de um método POST passando um objecto JSON do tipo:

    a. token - valor do token obtido no passo anterior;

    b. attributesName - uma lista de strings dos atributos a filtrar. Este parâmetro é opcional e

    caso não seja preenchido irá retornar todos os atributos relacionados com o token.

    c. A API do FA retorna um objecto JSON com os seguintes atributos:

    i. token - token obtido no passo anterior;

    ii. authenticationContextId – Identificador do processo de autenticação.

  5. O sistema requerente deve depois utilizar o token e authenticationContextId como valores query string num pedido GET para obter os valores dos atributos pedidos.

    1. Formato do pedido GET:

      <autenticacao.gov.pt>?token=<token>&authenticationContextId=<authenticationContextId>

    2. Após o FA validar o token com sucesso é devolvida a lista em JSON de atributos com o respetivo estado e valor (se já obtido). Os atributos que ainda não tenham sido obtidos são devolvidos com o valor null. Como a obtenção de atributos poderá demorar algum tempo dependendo dos atributos pedidos e de sistemas externos, os atributos pedidos poderão não estar disponíveis na altura em que é feito o pedido ao sistema FA. Cabe ao sistema requerente decidir como agir nestas situações. A única restrição é que não seja efetuado mais que um pedido por segundo à API do FA. Cada atributo poderá estar num dos seguintes estados:

      Available – A entidade responsável pelo envio do atributo já enviou o valor;

      NotAvailable – A entidade responsável pelo envio do atributo não conseguiu encontrar e responder com o valor do atributo;

      Pending – A entidade responsável pelo envio do atributo ainda não retornou o valor.

d. scope - uma lista de atributos delimitada com um espaço entre cada um (nota: solicitar, no mínimo, o atributo no caso de cidadãos que possuam nº de identificação civil, ou para cidadãos estrangeiros que ainda não o tenham);

📖
http://interop.gov.pt/MDC/Cidadao/NIC
http://interop.gov.pt/MDC/Cidadao/DocNumber
Autenticação baseada em OAuth