- Fluxos de autenticação compatíveis com OAuth2/OIDC.
- Capacidades de emissão, validação e renovação de tokens.
- Recuperação de informações do usuário de acordo com os padrões OIDC.
- Aplicação de permissões para recursos.
- Otimização de performance através de mecanismos de cache.
Fluxo de autenticação e autorização
O Auth implementa vários fluxos-chave de autenticação e autorização:

Fluxo de autenticação
- Requisição de token
- Aplicações cliente solicitam tokens de acesso usando:
- Password grant (usuário/senha para usuários interativos).
- Client credentials grant (para autenticação serviço-a-serviço).
- A requisição é encaminhada para o Identity Provider.
- Access token, refresh token e ID token opcional são retornados.
- Aplicações cliente solicitam tokens de acesso usando:
- Renovação de token
- Aplicações cliente usam refresh tokens para obter novos access tokens.
- O refresh token é validado via Identity Provider.
- Um novo access token é emitido.
- Validação de token
- Os access tokens são validados no acesso a recursos protegidos.
- Os resultados são armazenados em cache para otimização de performance.
- As claims do token são extraídas para identificar o subject.
Fluxo de autorização
- Aplicar acesso
- O cliente solicita acesso a um recurso com uma ação.
- O ID do subject é extraído do token.
- O motor de políticas determina se o subject tem permissão.
- O resultado é armazenado em cache para performance.
- A decisão de autorização é retornada.
- Recuperar políticas
- O cliente solicita todas as políticas para o usuário autenticado.
- O motor de políticas é consultado para todos os recursos e ações permitidos.
- As políticas são retornadas como um mapa de recursos para as ações permitidas.
Fluxo de informações do usuário
- Requisição de perfil
- O cliente solicita informações do perfil do usuário.
- O access token é validado.
- Os detalhes do usuário são recuperados do Identity Provider.
- Informações do usuário compatíveis com OIDC são retornadas.
Fluxo de logout
- Logout do usuário
- O cliente envia requisição de logout com ID token hint.
- Os tokens são invalidados no Identity Provider.
- As entradas de cache são invalidadas.
Visão geral da API
O Auth fornece gerenciamento seguro de identidade e controle de acesso para aplicações Lerian. As APIs suportam:
- Autenticação e gerenciamento do ciclo de vida de tokens.
- Autorização e aplicação de permissões.
- Recuperação de informações do usuário.
Estrutura de políticas
As tabelas de políticas armazenam permissões usando o seguinte padrão:
Regra de política (ptype=‘p’):
identity-editor-role permissão para executar a ação GET no recurso users.
Atribuição de grupo (ptype=‘g’):
user123 à role identity-editor-role.
Armazenamento de dados e cache
O Auth otimiza performance e segurança aproveitando um sistema de armazenamento estruturado e mecanismos de cache:
- Gerenciamento de políticas: Armazena políticas de controle de acesso para usuários e serviços.
- Cache de introspecção de token: Armazena em cache resultados de validação de token para reduzir verificações redundantes.
- Cache de permissões: Armazena decisões de autorização para melhorar o tempo de resposta.
- Cache de políticas do usuário: Mantém um mapa de recursos e ações para controle de acesso eficiente.
Testes e confiabilidade
O Auth passa por testes contínuos para manter confiabilidade e segurança. Os testes cobrem:
- Fluxos de autenticação e validação de token.
- Aplicação de controle de acesso.
- Performance e eficiência de cache.

