es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Autorización de Strava funciona en el host local pero no cuando se publica en Azure.

El siguiente código autoriza mi cuenta de Strava en mi aplicación web:

“`
function Autorizar() {
document.location.href = “https://www.strava.com/oauth/authorize?clientid=xxxxx&redirecturi=https://localhost:44389/home/strava&responsetype=code&scope=activity:readall”

}

const enlaceIntercambioCodigo = `https://www.strava.com/api/v3/oauth/token`
function intercambiarCodigo() {

fetch(enlaceIntercambioCodigo, {
    method: 'post',
    headers: {
        'Accept': 'application/json, text/plain, */*',
        'Content-Type': 'application/json'
    },

    body: JSON.stringify({
        client_id: '@ViewBag.cId',
        client_secret: '@ViewBag.cSec',
        code: '@ViewBag.code',
        //se necesita hacer esto para obtener un nuevo token de actualización que 'lea todo' y emita un nuevo token de acceso: consultar los comentarios a continuación
        grant_type: 'authorization_code'

    })
})
    .then(res => res.json())
    .then(res => obtenerActividades(res))

}

“`

Sin embargo, cuando publico en Azure y cambio el código document.location.href y la dirección de redirección (como se muestra a continuación) para que coincida con mi aplicación publicada, falla con un error de ‘solicitud incorrecta’.

document.location.href = "https://www.strava.com/oauth/authorize?client_id=xxxxx&redirect_uri=https://xxxx.azurewebsites.net/home/strava&response_type=code&scope=activity:read_all"

Se presenta el siguiente error:

{“message”:”Solicitud incorrecta”,”errors”:[{“resource”:”Application”,”field”:”redirect_uri”,”code”:”inválido”}]}

Cualquier ayuda es muy apreciada.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el redirect_uri especificado es inválido. Esto puede ser debido a varias razones, tales como:

    • El redirect_uri no está incluido en la configuración de la aplicación de Strava como un URI de redirección autorizado.
    • El redirect_uri incluye un protocolo (http/https) que es diferente al utilizado en la configuración de la aplicación de Strava.
    • El redirect_uri contiene errores de escritura o cualquier otro tipo de error.

    Para solucionar este problema, puedes intentar los siguientes pasos:

    1. Verifica la configuración de la aplicación de Strava para asegurarte de que el URI de redirección correcto esté listado como un URI de redirección autorizado. Es posible que necesites agregar o modificar el URI de redirección si no está presente o si es incorrecto.
    2. Asegúrate de que el protocolo (http/https) utilizado en el redirect_uri coincida con el especificado en la configuración de la aplicación de Strava.
    3. Revísalo nuevamente el redirect_uri en busca de errores o errores de escritura, y asegúrate de que esté correctamente formateado y escrito.

    Si ninguno de los pasos anteriores resuelve el problema, puedes intentar capturar la solicitud HTTP y la respuesta utilizando una herramienta como Fiddler o Wireshark. Esto puede ayudarte a determinar si existen problemas con las cabeceras de solicitud o respuesta, o si hay algún otro error que no se informa en el mensaje de error.

Comments are closed.