Back to referencesTI e tecnologia

Autorização centralizada e plataforma de aplicações

Um único início de sessão, uma única gestão de utilizadores e permissões para todas as aplicações internas e de clientes da Atrea. Construímos uma plataforma central sobre Zitadel com início de sessão próprio, suporte multi-marca, permissões de granularidade fina e notificações.

Client
Atrea s.r.o
Year
2026
Technologies
TypeScriptNode.jsExpressPostgreSQLTypeORMZitadelOpenID ConnectNext.jsVue.jsWeb PushDocker

Desafio

A Atrea opera várias aplicações Web para funcionários, parceiros de negócio e clientes. Até agora, cada uma delas geria o seu próprio início de sessão, utilizadores e permissões. Isto significava várias contas para a mesma pessoa, gestão de permissões fragmentada e lógica de acesso programada de novo todas as vezes.

O objetivo era criar uma plataforma comum que pudesse ser utilizada por qualquer aplicação nova ou existente, com início de sessão único, gestão centralizada de permissões e serviços partilhados, tais como notificações ou feedback dos utilizadores.

Solução

Início de sessão único (SSO)

Como fornecedor de identidade, escolhemos a plataforma IAM de código aberto Zitadel. No entanto, criámos os nossos próprios ecrãs de início de sessão (Next.js sobre Session API v2), pelo que o registo, a reposição de palavra-passe e a autenticação multifator (MFA) têm o aspeto e o comportamento exatamente pretendidos pela Atrea. Os funcionários iniciam sessão com a sua conta Microsoft empresarial, enquanto os utilizadores externos utilizam e-mail e palavra-passe.

Várias marcas numa única plataforma

Uma única instalação serve várias marcas e organizações. Cada marca tem o seu próprio design de início de sessão, domínio próprio, modelos de e-mail e servidor SMTP de envio. A marca é determinada centralmente com base na aplicação e no callback, pelo que o utilizador nunca se encontra no ambiente errado.

Permissões num único local

As aplicações já não calculam nada por si próprias, toda a lógica de permissões reside num serviço central:

  • funções no âmbito de cada aplicação e atribuição automática de funções com base no domínio de e-mail,
  • permissões binárias e hierárquicas (desativado / visualização / edição) numa estrutura em árvore,
  • permissões para registos específicos (por exemplo, partilha de um único projeto com um colega),
  • administradores de aplicações e superadministradores com registo de auditoria de todas as alterações.

As funções e permissões são inseridas diretamente no token de acesso (JWT) durante o início de sessão. Desta forma, o frontend sabe o que o utilizador deve ver sem consultas adicionais. Os backends de outras aplicações verificam as permissões com uma única chamada de API.

Serviços partilhados para todas as aplicações

  • Notificações por e-mail e Web Push, com modelos para cada tipo de mensagem, envio em massa e definições de subscrição do utilizador.
  • Multilinguismo com registo central de idiomas, idiomas de recurso e tradução automática de modelos.
  • Feedback e suporte diretamente a partir das aplicações, incluindo anexos e notificações de alteração de estado.
  • Perfis de utilizador e preferências partilhados entre aplicações.

Administração

Para os administradores, construímos um painel de administração em Vue 3. Este inclui utilizadores, funções e permissões, aplicações e respetivos clientes OIDC, marcas, definições de e-mail, modelos de notificação, suporte e auditoria. A plataforma inclui também documentação para programadores (VitePress) com uma versão adaptada para assistentes de IA, permitindo aos programadores ligar novas aplicações de forma rápida e uniforme.

Resultado

  • Uma única conta para todas as aplicações da Atrea e SSO empresarial via Microsoft.
  • Uma nova aplicação é ligada em poucos dias em vez de semanas de desenvolvimento de início de sessão e gestão de permissões próprios.
  • Gestão de acessos num único local, incluindo o bloqueio imediato de um utilizador em toda a plataforma.
  • Preparado para várias marcas e mercados graças ao suporte multi-marca e multi-idioma.
  • A plataforma já serve as aplicações de produção da Atrea e as restantes estão a ser migradas gradualmente.
View project

Have a similar project in mind?

Start a conversationBack to references