token_endpoint_auth_method == client_secret_post method: POST path: /oauth2/token accept: application/json content-type: application/x-www-form-urlencoded --- grant_type: string code: string redirect_uri: string client_id: string client_secret: string token_endpoint_auth_method == client_secret_basic method: POST path: /oauth2/token accept: application/json content-type: application/x-www-form-urlencoded authorization: basic base64(`${client_id}:${client_secret}`) --- grant_type: string code: string redirect_uri: string client_id: string token_endpoint_auth_method == none (PKCE) method: POST path: /oauth2/token accept: application/json content-type: application/x-www-form-urlencoded --- grant_type: string code: string code_verifier: string redirect_uri: string client_id: string