Avalados por :

Cómo obtener un token correcto para SAP Event Mesh sin errores - Guía paso a paso

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 8 Vistas
0
Cargando...

Estoy utilizando el siguiente código para obtener el token del servidor de Event Mesh, lo logré sin errores.

Sin embargo, este token es incorrecto, la longitud es solo de 1601, y la longitud correcta del token debería ser de 1869.

Esto provoca que el siguiente bloque de código para publicar un evento en SAP Event Mesh falle con un mensaje de error de no autorizado.

¿Alguien logró obtener un token correcto antes? Por favor ayuda, gracias.

const fetch = require('node-fetch');

        async function getEMAccessToken() {
            const EMTokenURL = 'tu-url-de-token';
            const EMClientID = 'tu-id-de-cliente';
            const EMClientSecret = 'tu-secreto-de-cliente';

            const credentials = Buffer.from(`${EMClientID}:${EMClientSecret}`).toString('base64');

            const response = await fetch(EMTokenURL, {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                    'Authorization': `Basic ${credentials}`
                },
                body: 'grant_type=client_credentials'
            });

            if (!response.ok) {
                throw new Error(`¡Error HTTP! estado: ${response.status}`);
            }

            const data = await response.json();
            return data.access_token;
        }
        
    
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Gregor, gracias por tu comentario, la conexión manual es para un caso de uso especial.

También intento seguir el documento CAP sobre malla de eventos, pero me encuentro con algunos problemas al implementar el proyecto en Cloud Foundry, una vez resuelva el problema de implementación, lo intentaré de nuevo.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Dinu,

Gracias por tu pregunta. Mientras estoy probando el código anterior, logro obtener el token de acceso, sin embargo, al intentar publicar un evento en SAP Event Mesh en el siguiente paso, siempre recibo un error de "No autorizado".

Después de varias horas de lucha, finalmente decido escribir una aplicación de escritorio .NET para verificar la lógica, y funciona. Luego uso el token de acceso que he obtenido en la aplicación .NET y lo pego en mi bloque de código Javascript para publicar el evento, y también funciona correctamente.

Así que simplemente hago una comparación entre el token de acceso del código Javascript y la Aplicación .NET, y encuentro que la longitud es diferente. En realidad, los primeros 185 caracteres del token de acceso son iguales.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¿Por qué dices que el token tiene que tener una longitud de 1869?

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?