Recibo el error " Las solicitudes del navegador al extremo del token deben usar la clave de prueba para el intercambio de códigos " cuando intento publicar la siguiente solicitud desde mi código. Pero lo mismo está trabajando desde el cartero. ¿Me estoy perdiendo algo aquí?
const urlEncodeData = qs.stringify({ grant_type: "client_credentials", client_id: "xxxxxxxxxxxx", client_secret: "xxxxxxxxxxxxx", scope: Scope, }); const headers: any = { "Content-Type": "application/x-www-form-urlencoded", }; const tokenData = await axios.post( `${issuer}/v1/token`, urlEncodeData, headers );Intenté usar qs y urlsearchparams y nada funcionó.
Creo que el problema es que el flujo de client_credentials asume que iniciará una llamada a /token endpoint desde un servidor back-end y no desde su navegador. Por lo tanto, podría ser un control de seguridad adicional por parte de Okta, para desalentar el uso de mecanismos/soluciones inapropiados.
Para la aplicación del lado del cliente que está utilizando, debe usar PKCE Flow. Postman funciona porque está probando el flujo implícito, no el flujo PKCE.