Artigos Internos

IdP e Outsystems

Como combinar IdP e Outsystems para soluções estáveis

O IdP e o Outsystems não estão diretamente relacionados, mas podem trabalhar em conjunto para proporcionar uma solução estável para a criação de aplicações web, móveis e reativas seguras.

O IdP é um fornecedor de identidade, que utiliza o protocolo SAML para se ligar a fornecedores de identidade externos, e que gere e verifica as identidades dos utilizadores. Podemos incorporar a abordagem IdP para conceber um início de sessão Single Sign-On (SSO), que permite aos utilizadores aceder a múltiplas aplicações utilizando as suas credenciais apenas uma vez. Isto requer uma integração com o CAS (Serviço Centralizado de Autenticação. Alguns fornecedores já estão preparados no IdP para serem usados rapidamente como Okta, Azure, ADFS, PingOne, OneLogin e outros.

Caso contrário, é possível configurar e criar outra configuração, e isso pode acontecer se, por exemplo, o cliente utilizar o seu próprio serviço CAS.

Integração Conector IdP componente necessário alguns passos:

  1. Descarregar componente na Forge (biblioteca Outsystems)
  2. Criar utilizador para gerir IdP, conceder função Administrador_IdP em https://your-domain/Utilizadores
  3. Abra o IdP no navegador e configure o provedor de identidade.
    1. Envolve o registo da sua aplicação com o IdP e a obtenção de informações de configuração como o ID da entidade do IdP, o URL de Single Sign-On e o certificado.
    2. Importar ficheiro XML com metadados SAML do CAS
    3. Exportar ficheiro XML com metadados SAML para partilhar as nossas configurações com sistemas externos
    4. Carregar certificado no IdP (separador Servidor IdP e Definições)
    5. Mapeie os atributos do IdP (claims) para os atributos do Outsystems. Isto é necessário para que o Outsystems possa compreender a identidade do utilizador e outras informações do IdP. Para construir isto, pode criar o mapeamento entre os atributos do IdP e os atributos do utilizador do Outsystems. No IdP terá algumas claims criadas por defeito, no entanto, se precisar de criar novas, é possível usando a ligação “Adicionar nova claim personalizada”. As Claims podem referir-se a uma variedade de funcionalidades e capacidades relacionadas com o processo de autenticação e autorização na aplicação de software.
    6. Para configurar o processo de logout, necessitará de configurar o URL de logout único do servidor IdP e, geralmente, o cliente fornece este URL porque este pedirá apoio ao cliente. Para o configurar, navegue até ao Servidor IdP e Definições e insira o URL (exemplo, https://domínio/cas/sair).
    7. Para testar a integração na sua aplicação, será útil criar uma aplicação de exemplo para simular o processo de login. Esta aplicação não afetará outras funcionalidades até que o processo de login do IdP seja concluído. Para simular o processo, deverá ter um utilizador de teste criado previamente no lado do cliente, onde o serviço CAS fornecerá uma resposta válida para o IdP. Poderá acompanhar o processo através dos Registos de Mensagens SAML.Na perspetiva técnica, integrar um componente IdP no Outsystems pode ser um processo direto, mas exige alguma perícia técnica e conhecimento deste componente. Na perspetiva de manutenção, será útil e reconhecido, pois o IdP está pronto a ser consumido em múltiplas aplicações, concentrando o esforço de implementação uma vez na equipa de desenvolvimento. De um modo geral, o IdP melhorou a experiência do utilizador ao permitir a funcionalidade SSO, pois os utilizadores podem aceder a múltiplas aplicações com um único conjunto de credenciais. Mais do que isso, a utilização deste componente oferece benefícios a organizações que procuram desenvolver aplicações personalizadas de forma rápida e segura, como a GDPR e a HIPAA, fornecendo trilhos de auditoria e outras funcionalidades.

Sílvia Sendim

Líder Técnico OutSystems

Artigos Internos

Artigos Relacionados