Cabeçalhos PF27: configuração de tokens OAuth e guia de referência JWT - Mecânicas

Cabeçalhos PF27: configuração de tokens OAuth e guia de referência JWT

Aprenda a configurar cabeçalhos PF27 para testar tokens OAuth, assinar JWTs, mapear tokens de acesso e validar concessões persistentes.

2026-11-08
Equipe da Wiki PF27
Guia rápido
  • Os cabeçalhos PF27 conectam as solicitações OAuth ao contexto do token, do cliente e do servidor de recursos.
  • Os cabeçalhos JWT identificam a chave de assinatura e o algoritmo usados para proteger a integridade do token.
  • O gerenciamento de tokens de acesso controla o tipo, a validade, as declarações e o comportamento de assinatura do token.
  • As concessões persistentes mantêm dados de autorização além da curta validade de um token de acesso.
  • O fluxo de testes usa um cliente configurado, o Postman ou uma aplicação de teste OAuth.

Cabeçalhos PF27: o que eles controlam

Os cabeçalhos PF27 são mais bem compreendidos como os metadados de solicitação e de token que envolvem uma implantação OAuth no PingFederate. Eles não substituem a concessão OAuth, o registro do cliente, o gerenciador de tokens de acesso ou o contrato de atributos. Em vez disso, ajudam cada componente a identificar como uma solicitação deve ser interpretada e como um token deve ser validado.

Em uma configuração típica, o PingFederate atua como o servidor de autorização. Um cliente OAuth solicita autorização ou um token, enquanto um servidor de recursos valida posteriormente o token de acesso resultante. Os cabeçalhos e as declarações envolvidos nessa troca devem ser consistentes com a concessão selecionada, a configuração de assinatura e as expectativas do cliente.

ÁreaResponsabilidade principalFoco da configuração
Solicitação OAuthTransporta o contexto do cliente e da concessãoID do cliente, URI de redirecionamento, escopo, tipo de resposta
Resposta de autorizaçãoRetorna um resultado de autorizaçãoCódigo, estado, tratamento do redirecionamento
Token de acessoComprova a autorização delegadaTipo do token, validade, declarações, emissor
Cabeçalho JWTDescreve a proteção do tokenAlgoritmo e ID da chave
Solicitação de recursoApresenta o token de acesso a uma APIEsquema de autorização e token bearer

Contexto da solicitação

As solicitações OAuth identificam o cliente, a concessão solicitada, o destino do redirecionamento e o escopo solicitado. Valide esses valores antes de testar a emissão de tokens.

Proteção JWT

Um JWT assinado normalmente contém um identificador de algoritmo e uma referência de chave em seu cabeçalho protegido. O serviço receptor usa esses valores para localizar a chave de verificação.

Mapeamento de tokens

O mapeamento de tokens de acesso transfere valores como nome de usuário, e-mail, nome, sobrenome ou grupos para o contrato do token.

Dica de configuração

Trate cabeçalhos, declarações e atributos do contrato como camadas separadas. Um JWT assinado corretamente ainda pode falhar na autorização se o assunto, o público, o escopo ou os atributos do usuário mapeados não corresponderem às expectativas do servidor de recursos.

Objetos OAuth principais por trás dos cabeçalhos

O fluxo de trabalho mais confiável para os cabeçalhos PF27 começa pelos objetos OAuth subjacentes. O armazenamento de concessões persistentes, o mapeamento de concessões do contrato de política, o gerenciamento de tokens de acesso e o mapeamento de tokens de acesso desempenham funções diferentes. Configurá-los na ordem correta reduz erros de validação confusos.

Uma concessão persistente armazena informações relacionadas à autorização por um período maior que o de um token de acesso de curta duração. Sua validade pode ser controlada por regras de inatividade, validade máxima, expiração, revogação ou limpeza. O PingFederate pode usar um banco de dados ou servidor de diretório para armazenamento de longo prazo, enquanto uma opção HSQLDB interna é mais adequada para testes do que para cargas de trabalho de produção.

Objeto OAuthO que armazena ou controlaPor que é importante
Concessão persistenteDados de autorização de longa duraçãoPermite solicitações posteriores de tokens e continuidade da concessão
Contrato de concessão persistenteAtributos do usuário e da autorizaçãoDefine os valores mantidos com a concessão
Mapeamento de concessão do contrato de políticaMapeia resultados de autenticação para dados da concessãoConecta o usuário autenticado à autorização OAuth
Gerenciador de tokens de acessoEmite e valida tokens de acessoDefine o tipo, a validade e o comportamento de assinatura do token
Mapeamento de tokens de acessoAtende ao contrato de atributos do tokenInsere valores de identidade no token

Armazenamento de concessões persistentes

O armazenamento de concessões persistentes deve ser selecionado de acordo com o ambiente. Um banco de dados integrado pode ser útil durante uma prova de conceito local, mas as implantações de produção geralmente exigem um banco de dados ou serviço de diretório durável, com procedimentos operacionais de backup, controle de acesso e manutenção.

A validade da concessão também deve ser planejada com cuidado. Um tempo limite de inatividade pode remover concessões após um período sem uso, enquanto uma validade máxima estabelece um limite superior para o tempo durante o qual a concessão permanece válida. O comportamento de revogação e limpeza deve ser testado antes de um cliente sair do ambiente de desenvolvimento.

Mapeamento de concessões do contrato de política

O mapeamento de concessões do contrato de política conecta o contrato de política de autenticação ao contrato de concessão persistente. O mapeamento pode incluir uma chave de usuário, como um nome de usuário ou endereço de e-mail. Ele também pode transportar valores necessários posteriormente pelo mapeamento de tokens de acesso.

Valor do mapeamentoFinalidade típicaPergunta de revisão
Nome de usuárioIdentificador de usuário estávelO valor é exclusivo no diretório?
E-mailIdentidade voltada ao usuário ou para auditoriaO valor é preenchido de forma consistente?
NomeDeclaração de perfilEle é exigido pelo cliente ou pela API?
SobrenomeDeclaração de perfilO atributo do diretório usa o nome esperado?
GruposDados de autorização ou direitosOs valores dos grupos são filtrados e definidos no escopo correto?
Aviso sobre armazenamento

Não trate um banco de dados de testes local como um plano de armazenamento para produção. Confirme a retenção, a limpeza, a replicação, o backup e o comportamento de revogação das concessões antes de usar concessões persistentes em um ambiente ativo.

Gerenciador de tokens de acesso e configuração do cabeçalho JWT

O gerenciador de tokens de acesso é o ponto central de configuração para a emissão e a validação de tokens. Um gerenciador baseado em JWT define como o token é assinado, por quanto tempo permanece válido e quais declarações ou atributos são incluídos. O cabeçalho protegido do JWT normalmente identifica o algoritmo de assinatura por meio de alg e a chave de assinatura por meio de kid.

Uma configuração típica usa um certificado X.509 para assinatura baseada em RSA ou em curva elíptica. O certificado de assinatura ativo deve estar disponível para o gerenciador de tokens, e a chave pública correspondente deve ser localizável pelos serviços que validam o token.

Configuração do JWT ou tokenFunçãoRevisão prática
Tipo de tokenDetermina o formato do tokenConfirme que o cliente e a API oferecem suporte a JWTs
Certificado de assinaturaAssina o tokenVerifique a validade, a confiança e o planejamento de rotação
ID da chaveIdentifica a chave de assinatura ativaGaranta que o verificador possa selecionar a chave pública correspondente
Algoritmo JWSProtege a integridade do tokenUse um algoritmo compatível com todos os participantes
Validade do tokenDefine a validade do token de acessoMantenha-a alinhada ao risco da aplicação
Declaração do emissorIdentifica o emissor do tokenCorresponda ao valor esperado pelo servidor de recursos
Endpoint JWKSPublica as chaves de verificaçãoUse um caminho de endpoint exclusivo e acessível

Sequência de configuração recomendada

1

Crie o gerenciador de tokens de acesso

Abra a área de gerenciamento de tokens de acesso OAuth e crie uma instância nomeada. Selecione o tipo de token exigido pela integração, como um JSON Web Token, e registre o nome da instância para o mapeamento posterior.

2

Adicione o certificado de assinatura

Adicione ou selecione o certificado usado para assinar os tokens. Atribua o certificado de assinatura ativo ou o ID da chave e confirme que a chave pública pode ser distribuída aos validadores de tokens.

3

Defina a validade do token

Escolha uma validade de token adequada ao cliente e à API. Uma validade curta pode limitar a exposição, enquanto o comportamento de atualização ou da concessão deve lidar com a autorização contínua quando houver suporte.

4

Defina as declarações JWT

Configure as informações do emissor e amplie o contrato de atributos com valores como nome de usuário, e-mail, grupos ou assunto. Inclua apenas as declarações necessárias para a integração.

5

Salve e replique

Salve o gerenciador de tokens de acesso e replique a configuração no cluster quando for usado um ambiente PingFederate em cluster. Depois, teste a emissão e a validação.

O valor kid merece atenção especial durante a rotação de certificados. Um servidor de recursos pode receber um novo token antes que seu cache de chaves seja atualizado. Publicar um endpoint JWKS estável e planejar uma sobreposição entre as chaves antigas e novas pode reduzir falhas de validação evitáveis.

Verificação do JWT

Antes de solucionar problemas no código da aplicação, inspecione o cabeçalho JWT decodificado e confirme os valores alg e kid. Em seguida, verifique se a chave pública referenciada está disponível por meio da configuração esperada do conjunto de chaves.

Mapeamento de tokens de acesso e testes de solicitações

Depois que o gerenciador de tokens de acesso é criado, o mapeamento de tokens de acesso atende ao seu contrato de atributos. Selecione o contrato de política de autenticação relevante e mapeie seus valores para o gerenciador de tokens. É nesse ponto que os atributos do diretório ou os resultados da autenticação se tornam declarações utilizáveis no token.

Um mapeamento prático pode incluir um nome de usuário como assunto, um endereço de e-mail para identidade e grupos para decisões de autorização. Os nomes exatos dos atributos dependem do contrato de política configurado e do esquema do diretório, portanto o mapeamento deve ser verificado, e não presumido.

Atributo do tokenOrigem sugeridaObjetivo da validação
AssuntoContrato de política de autenticaçãoIdentifica o proprietário autorizado do recurso
Nome de usuárioContrato de política de autenticaçãoCorresponde à chave de usuário da aplicação
E-mailDiretório ou contrato de políticaFornece um valor de identidade consistente
NomeDiretório ou contrato de políticaOferece suporte a aplicações conscientes do perfil
SobrenomeDiretório ou contrato de políticaOferece suporte às necessidades de exibição ou auditoria
GruposDiretório ou contrato de políticaOferece suporte a uma lógica de autorização controlada

Lista de verificação dos cabeçalhos

Antes dos testes:

  • Confirme o ID do cliente, a URI de redirecionamento e a concessão OAuth selecionada
  • Verifique se o gerenciador de tokens de acesso usa o certificado de assinatura pretendido
  • Confira se os valores alg e kid do JWT correspondem à chave de verificação publicada
  • Confirme que os mapeamentos de assunto, nome de usuário, e-mail e grupos estão preenchidos
  • Teste a expiração e a revogação do token, além do comportamento da concessão persistente

Ao testar com o Postman ou com um ambiente de testes OAuth, comece com uma concessão e um cliente. Os fluxos de código de autorização e código de autorização com PKCE exigem atenção cuidadosa ao tratamento do redirecionamento e do verificador. Os testes de credenciais do cliente são mais diretos porque representam a identidade de uma aplicação, e não de um usuário final. As credenciais de senha do proprietário do recurso e os fluxos implícitos só devem ser testados quando forem explicitamente compatíveis com os requisitos de segurança da implantação.

Etapa do testeO que enviar ou inspecionarResultado esperado
Registro do clienteID do cliente, segredo, URI de redirecionamentoO cliente é reconhecido
Solicitação de autorizaçãoTipo de resposta, escopo, estadoA autorização prossegue corretamente
Solicitação de tokenTipo de concessão, código, verificador ou segredoO endpoint de token emite um token
Inspeção do JWTCabeçalho, declarações, expiraçãoOs valores correspondem aos contratos configurados
Solicitação à APIToken de acesso bearerO servidor de recursos aceita ou rejeita claramente o token
Teste de expiraçãoToken expirado ou concessão revogadaO acesso é negado com um erro útil
Orientação para testes

Altere uma variável por vez. Se uma solicitação de token falhar, confirme primeiro os parâmetros do cliente e da concessão. Se a emissão for bem-sucedida, mas a API rejeitar o token, inspecione separadamente o cabeçalho JWT, o emissor, o assunto, o público, a expiração e a chave de assinatura.

Solução de problemas dos cabeçalhos PF27

A maioria das falhas relacionadas aos cabeçalhos OAuth se enquadra em um pequeno número de categorias: a solicitação não corresponde ao cliente registrado, o gerenciador de tokens não consegue assinar ou validar o token, o contrato de mapeamento está incompleto ou o servidor de recursos não consegue localizar a chave de verificação correta.

Use a tabela de sintomas abaixo para restringir o problema antes de alterar vários valores de configuração.

SintomaCausa provávelPrimeira verificação
Falha na autenticação do clienteID, segredo ou método do cliente incorretoCompare o cliente registrado com a solicitação
Erro de redirecionamentoIncompatibilidade na URI de redirecionamentoVerifique exatamente o esquema, o host, o caminho e a porta
O token é emitido, mas a API o rejeitaIncompatibilidade de declaração ou assinaturaInspecione o emissor, o assunto, o público, a expiração e a chave
Não é possível verificar a assinatura do JWTkid incorreto ou chave pública indisponívelVerifique o endpoint JWKS e o certificado
As declarações do usuário estão vaziasMapeamento de atributos incompletoRevise os mapeamentos de política e de tokens de acesso
A concessão desaparece inesperadamenteTempo limite de inatividade, validade máxima ou limpezaRevise as configurações da concessão persistente
Os nós do cluster se comportam de forma diferenteA configuração não foi replicadaCompare e replique as configurações do cluster

Mantenha um registro escrito dos valores esperados para cada ambiente. No mínimo, documente o emissor, o endpoint de token, o endpoint de autorização, a localização do JWKS, o algoritmo de assinatura, o ID da chave ativa, a validade do token, o identificador do cliente, a URI de redirecionamento e as declarações obrigatórias.

Referências oficiais consultadas em 2026-11-08:

Dica para solução de problemas

Decodifique tokens apenas em um ambiente controlado e evite inserir segredos reais ou tokens de produção em ferramentas públicas. Um token decodificado não comprova sua validade; a assinatura, o emissor, o público, a expiração e as verificações de autorização continuam sendo importantes.

Perguntas frequentes sobre os cabeçalhos PF27

Q: Para que servem os cabeçalhos PF27?

Os cabeçalhos PF27 descrevem um contexto importante de OAuth e JWT, incluindo o algoritmo de assinatura e a identificação da chave. Eles funcionam em conjunto com as configurações do cliente, o gerenciamento de tokens de acesso, o mapeamento de atributos e a validação do servidor de recursos.

Q: Quais valores do cabeçalho JWT devo inspecionar primeiro?

Comece com alg e kid. O valor alg identifica o método de assinatura, enquanto kid identifica a chave de assinatura. Em seguida, inspecione as declarações do token e confirme que a chave pública correspondente está disponível para o validador.

Q: Por que um token assinado corretamente ainda pode falhar na API?

Uma assinatura válida apenas comprova que o token foi assinado por uma chave confiável. A API ainda pode rejeitar um emissor, público, assunto ou escopo incorretos, um valor de expiração inválido, uma declaração ausente ou um grupo não autorizado.

Q: O armazenamento de concessões persistentes é igual ao armazenamento de tokens de acesso?

Não. Uma concessão persistente retém dados relacionados à autorização e pode sobreviver a um token de acesso. O gerenciador de tokens de acesso emite e valida tokens, enquanto o armazenamento de concessões oferece suporte à continuidade, à revogação e a comportamentos de autorização relacionados.

Revisão final

Nunca aprove uma integração OAuth apenas porque um token foi emitido. Confirme conjuntamente o contrato do token, a verificação da assinatura, o comportamento de expiração, o ciclo de vida da concessão e as decisões de autorização do servidor de recursos.

Related PF27 Mecânicas