Avalados por :

Solución al error 401 al realizar operaciones CRUD en la Autenticación de Identidad de la Plataforma en la Nube de SAP con SAPUI5 y SAP Web IDE

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

Tengo que desarrollar una aplicación sapui5 con el sap web ide: el usuario debe poder realizar operaciones CRUD en la Autenticación de Identidad de la Plataforma en la Nube de SAP (URL: "https://<tenant-id>.accounts.ondemand.com/service/scim/Users") a través de la aplicación y administrar usuarios. Primero lo probé en Postman con éxito. Más tarde intenté hacer una llamada AJAX (directamente en el controller.js) para obtener un json con todos los usuarios ya registrados en la Autenticación de Identidad de SAP. Este es el código:

var username = "T000034";

var password = "012345";

var url = "https://<tenant-id>.accounts.ondemand.com/service/scim/Users";

$.ajax({

url: url,

async: true,

type:'GET',

dataType: 'json',

beforeSend: function(xhr) {

xhr.setRequestHeader("Authorization", "Basic "+btoa(username+':'+password));

},

success: function(json){ console.log(json); },

error: function(err) { console.log(err); } });

En la consola después de varios intentos obtengo el siguiente error:

"Failed to load resource: the server responded with a status of 401 (Unauthorized) extension_runnable_file.html?hc_orionpath=%2Fs0*********03trial%24s0*********03-OrionContent%2Faaaaaa&origional-url=index.html&sap-ui-appCacheBuster=..%2F&sap-ui-xx-componentPreload=off: 1 Failed to load https://<tenant-id>.accounts.ondemand.com/service/scim/Users:

Response for preflight has invalid HTTP status code 401."


¿Qué está mal? ¿Alguna sugerencia?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Hola Eugenio,

sí, debes agregar el destino a tu neo-app.json.

...
{
	"path": "/service/scim/Users",
	"target": {
		"type": "destination",
		"name": "Users"
	},
	"description": "Usuarios del Servicio de Autenticación de Identidad"
}
...

Te sugeriría que cargues los usuarios en tu manifiesto para que no tengas que hacer una llamada Ajax separada:

... servicio...
...
"userService": {
	"uri": "/service/scim/Users",
	"type": "JSON",
	"settings": {
		"odataVersion": "2.0",
		"localUri": "localService/metadata.xml"
	}
}
...

... modelos ...
...
"userData": {
	"fuenteDatos": "userService",
	"tipo": "sap.ui.model.json.JSONModel",
	"preload": true
}
...

Luego tendrás los usuarios en tu JSONModel "userData"

Saludos,

Sebastian

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

Hola Sebastian gracias por la respuesta. En este caso, ¿tengo que agregar el destino del servicio de autenticación de identidad al neo-app.json, verdad?

Entonces, ¿cómo puedo hacer la llamada AJAX?

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

Hola Eugenio,

Crea una Destinación para tu propósito:

Luego deberías poder obtener todos los usuarios del Servicio de Autenticación de Identidad.

¡Espero que esto te ayude!

Saludos,
Sebastian

xxx.png
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?