OAuth2 Authorization URL Builder
Monta URL de autorização OAuth 2.0 com response_type, client_id, redirect_uri, scope, state.
URL
—
Building an authorization URL without typos
The first leg of OAuth 2.0 is a redirect to the provider's authorization endpoint carrying half a dozen query parameters. One wrong character in redirect_uri, or a missing state, and you get a generic provider error screen with no hint about what was wrong. Fill in the endpoint, response_type, client_id, redirect_uri, scope and state, and the URL comes out assembled and encoded.
Encoding follows the form-urlencoded rules, so spaces become plus signs: openid profile email turns into scope=openid+profile+email. That is valid, and the provider decodes it the same as %20. If the endpoint you paste already carries a query string, the parameters are appended with an ampersand rather than a question mark. All six fields go into the URL even when blank, so delete the ones you are not using before pasting into a browser.
What you get is the bare RFC 6749 shape. Two parameters that are close to mandatory today are missing: code_challenge and code_challenge_method from PKCE, which OAuth 2.1 asks for even from confidential clients, and nonce, which OpenID Connect requires whenever response_type includes id_token. Add them by hand. The implicit flow, response_type=token, has been discouraged for years. state must be random per request and verified on the way back. Nothing leaves your browser.
Frequently asked questions
Do I need PKCE if I already have a client secret?
Does redirect_uri have to match the registered value exactly?
Does this work with any provider?
Related Tools
Express Route Pattern Tester
Tests a URL against Express-style route patterns (/users/:id), showing which one matches first, the extracted params and route conflicts.
URL Analyzer
Decompose any URL into its components: protocol, host, pathname, query parameters and hash. Inspect query strings individually.
/etc/hosts a partir de CSV
Monta entradas /etc/hosts a partir de CSV (ip,hostname por linha).