iGRPIGRP 3.0Documentation

Visão geral

Referência técnica para integrar um projeto iGRP com o Access Management — panorama, sincronização, configuração e modelo de acesso.

Descreve como integrar um projeto (API backend + frontend Next.js) com o iGRP Access Management. No final, a aplicação terá permissões e menus sincronizados, autenticação via fornecedor de identidade partilhado e a SPA apresentará a árvore de menus correta por perfil (role).

Âmbito

Abrange a sincronização de permissões do backend, a sincronização de menus do frontend, e a superfície de variáveis de ambiente dos quatro intervenientes do sistema:

  • Access Management (AM) — o servidor de autorização OAuth2 + API de administração.
  • Application Center (AC) — o portal Next.js onde os administradores gerem utilizadores, perfis (roles), permissões, menus e (brevemente) clientes / contas de serviço.
  • Backend da Aplicação — um serviço Spring Boot que expõe APIs de negócio.
  • Frontend da Aplicação — uma SPA Next.js que consome essas APIs.

O IdP é transparente para os frontends

A partir das versões atuais do framework (igrp-framework-nextjs@dev, application-center@dev), a SPA deixou de comunicar diretamente com o fornecedor de identidade externo (Autentika / Keycloak / WSO2). Todos os frontends autenticam-se contra o Access Management através do fornecedor interno igrp-auth do framework; é depois o AM que trata internamente da federação com o IdP real. Isto significa deixar de existir variáveis KEYCLOAK_* do lado da SPA — apenas o bloco AUTH_PROVIDER=igrp-auth + IGRP_AUTH_* voltado para o AM, abaixo.

Percorrer a administração pelo Application Center

Esta página é uma referência técnica para integradores. Para os fluxos passo‑a‑passo do administrador (login, gestão de aplicações, departamentos, utilizadores, convites, etc.), a documentação vive em Utilizadores → Gestão de Acessos:

Documentação de integração (esta secção, para developers):

Para uma análise aprofundada sobre a declaração de permissões e a configuração de @PreAuthorize, consulte o guia complementar iGRP Permissions Integration Guide. Este documento é a visão de alto nível que liga permissões, menus e configuração.

Panorama geral

ACCESS MANAGEMENTFrontend do projetoNext.js · @igrp/framework-nextApplication CenteradministraçãoBackend do projetoSpring Boot · @IgrpPermissionOAuth2 / OIDC/oauth2/*Sincronização M2M/api/m2m/sync/*API de administração/api/*Fornecedor de identidadeAutentika · Keycloak · WSO2①②③④⑤ Bearer JWT⑥⑦
As permissões nascem no backend do projeto e os menus no frontend; ambos são publicados no Access Management no arranque. Em runtime tudo deriva desse estado: as permissões vão no JWT e os menus são filtrados por perfil. Os números correspondem à tabela abaixo.
#QuemQuandoO que aconteceEndpoints
①Frontend do projetoLoginO utilizador entra pelo fornecedor igrp-auth do framework; o Access Management emite o JWT/oauth2/authorize, /oauth2/token, /connect/logout
②Frontend do projetoArranquePublica os metadados da aplicação e os menus declarados no código (src/temp/menus/menus.ts)POST /api/m2m/sync/applications, POST /api/m2m/sync/applications/{code}/menus
③Backend do projetoArranqueObtém um token client_credentials e publica o recurso e as permissões @IgrpPermissionPOST /oauth2/token, POST /api/m2m/sync/resources, POST /api/m2m/sync/permissions
④Application CenterUsoAdministração: utilizadores, departamentos, perfis, permissões, aplicações e menus/api/users, /api/departments (perfis e permissões em …/{code}/roles/…), /api/applications (menus em …/{code}/menus), /api/clients, /api/service-accounts
⑤Frontend → backendCada pedidoChamadas de negócio com o JWT do utilizador; o backend decide com @PreAuthorize—
⑥Backend do projetoCada pedidoValida a assinatura e o emissor do JWT com as chaves do Access Management/.well-known/openid-configuration, JWKS
⑦Access ManagementLoginFedera a autenticação com o fornecedor de identidade configurado; os frontends nunca falam com ele—

Os passos ② e ③ são os da Sincronização; o ciclo completo de uma permissão (declaração, publicação, atribuição, verificação) está em Framework › Modelo de permissões.

How is this guide?

Última atualização:

On this page