1001Ferramentas
🆔Dev

OIDC Discovery URL Builder

Monta URL de descoberta OpenID Connect (.well-known/openid-configuration) a partir do issuer.

Discovery URL

A URL de descoberta do OpenID Connect

Todo provedor de identidade que fala OpenID Connect publica um documento de descoberta com os endereços dos endpoints, as chaves públicas, os escopos e os algoritmos suportados. Sabendo o emissor, o cliente monta essa URL, busca o documento e se configura sozinho — o que evita colar meia dúzia de endereços à mão em cada aplicação.

Informe o emissor e a página monta a URL. A regra é fixa: o caminho de descoberta é acrescentado ao final do emissor, sem barra duplicada. Vale prestar atenção porque o emissor às vezes já tem caminho — em provedores com múltiplos domínios lógicos, o emissor pode terminar em algo como uma identificação de organização, e o caminho de descoberta vem depois dele, não na raiz do domínio.

Um detalhe que causa falha difícil de diagnosticar: o valor do emissor dentro do documento devolvido precisa bater exatamente com o emissor que você usou para montar a URL, incluindo a presença ou ausência de barra no fim. A especificação exige essa conferência, e bibliotecas sérias a fazem — o sintoma de divergência é um erro de emissor inválido logo depois de o documento ter sido baixado com sucesso.

Perguntas frequentes

O caminho é sempre o mesmo?
Para OpenID Connect, sim. Já para OAuth 2.0 puro existe um caminho de metadados de servidor de autorização diferente, definido em outra especificação. Vários provedores publicam os dois documentos, com conteúdo parecido mas não idêntico.
Posso guardar o documento em cache?
Deve, e as bibliotecas fazem isso. O cuidado é com as chaves públicas, que ficam em outro endereço citado no documento e são rotacionadas periodicamente — cache longo demais delas causa falha de validação de token quando a rotação acontece. O padrão é recarregar ao encontrar um identificador de chave desconhecido.
O que o documento traz de mais útil?
Os endereços de autorização, de token e de informação do usuário, o endereço do conjunto de chaves, os escopos e tipos de resposta suportados, e os algoritmos de assinatura aceitos. É a partir dele que se descobre, por exemplo, se o provedor suporta a extensão de proteção de código de autorização.

Ferramentas Relacionadas