Por dentro do FoxIDs
Estrutura
O FoxIDs mantém os tenants isolados e separa ambientes, com cada ambiente a operar como o seu próprio identity provider.
Tenant master e ambiente master contêm a configuração master ao nível da plataforma juntamente com utilizadores administradores do FoxIDs.
Tenants representam organizações clientes, por exemplo Empresa X, Empresa Y, Empresa Z, e podem ser criados sem limites. Cada tenant inclui o seu próprio ambiente master que armazena a configuração master específica do tenant e os utilizadores administradores do tenant.
Ambientes como Production, Test ou estágios personalizados vivem dentro de um tenant. Um ambiente atua como Identity Provider com repositório de utilizadores, certificado, métodos de autenticação e registos de aplicação dedicados.
Authentications definem as trusts upstream com OpenID Connect 1.0, SAML 2.0 ou login.
Applications configuram relying parties para OAuth 2.0, OpenID Connect 1.0 e SAML 2.0.
User repository guarda os utilizadores de um ambiente e pode conter um número ilimitado de utilizadores.
O FoxIDs suporta tenants ilimitados, ambientes ilimitados por tenant e utilizadores ilimitados por ambiente.
Limitações
Por razões de desempenho e segurança, o FoxIDs aplica comprimentos máximos a todas as strings tratadas. Os valores são truncados ou rejeitados se excederem o tamanho permitido.
As limitações mais importantes estão listadas abaixo.
URL
O comprimento máximo de um URL é 10k (10.240) caracteres. O comprimento máximo de uma query string também é 10k (10.240) caracteres.
Claims
Um claim é composto por um tipo e um valor. O comprimento máximo do tipo de claim é 80 caracteres para JWT (access token e ID token) e 300 caracteres para SAML 2.0. Quando o FoxIDs processa os valores de claims num token, o comprimento máximo por valor e o comprimento total são 200.000 caracteres.
Tokens
Um JWT, incluindo access token, ID token e refresh token, recebido pelo FoxIDs pode ter um comprimento máximo de 256.000 caracteres. Os claims que excedem os comprimentos máximos são truncados.
O FoxIDs pode criar tokens maiores onde cada claim é limitado em vez de truncar o token inteiro.
Se um JWT estiver incluído como claim, será truncado se exceder o comprimento máximo permitido para o valor do claim.
Um pedido ou resposta SAML 2.0 pode ter um comprimento máximo de 256.000 caracteres. O pedido é indiretamente limitado se for enviado usando redirect binding na query string do URL. Os claims recebidos numa SAML 2.0 AuthnResponse, isto é, um token SAML 2.0, são truncados se excederem os comprimentos máximos permitidos.