OAuth2 Authorization URL Builder
Monta URL de autorização OAuth 2.0 com response_type, client_id, redirect_uri, scope, state.
URL
—
Montando a URL de autorização sem erro de digitação
A primeira etapa do OAuth 2.0 é um redirecionamento para o endpoint de autorização do provedor com meia dúzia de parâmetros na query string. Errar um caractere do redirect_uri ou esquecer o state costuma render uma tela de erro genérica, sem pista do que faltou. Aqui você preenche endpoint, response_type, client_id, redirect_uri, scope e state, e a URL sai montada e codificada.
A codificação segue o formato de formulário, então espaço vira sinal de mais: openid profile email sai como scope=openid+profile+email. É válido, o provedor decodifica igual a %20. Se o endpoint que você colar já tiver uma query string, os parâmetros são anexados com e comercial em vez de interrogação. Os seis campos sempre entram na URL, mesmo vazios, então apague o que não usar antes de colar no navegador.
O que sai daqui é o mínimo do RFC 6749. Faltam dois parâmetros que hoje são quase obrigatórios: code_challenge e code_challenge_method, do PKCE, que o OAuth 2.1 pede até em cliente confidencial, e nonce, que o OpenID Connect exige quando o response_type inclui id_token. Acrescente à mão. O fluxo implícito, response_type=token, está desaconselhado faz anos. O state precisa ser aleatório a cada requisição e conferido na volta. Nada é enviado, tudo roda no navegador.
Perguntas frequentes
Preciso de PKCE mesmo tendo client_secret?
O redirect_uri precisa bater exatamente com o cadastrado?
Funciona com qualquer provedor?
Ferramentas Relacionadas
Testador de Padrão de Rota (Express)
Testa uma URL contra padrões de rota estilo Express (/users/:id), mostra qual casa primeiro, os parâmetros extraídos e conflitos entre rotas.
Analisador de URL
Decomponha qualquer URL em seus componentes: protocolo, host, pathname, parâmetros de query e hash. Inspecione query strings individualmente.
/etc/hosts a partir de CSV
Monta entradas /etc/hosts a partir de CSV (ip,hostname por linha).