Avalados por :

Solução para o erro 401 ao realizar operações CRUD na Autenticação de Identidade da Plataforma na Nuvem da SAP com SAPUI5 e SAP Web IDE

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

Tenho que desenvolver um aplicativo sapui5 com o sap web ide: o usuário deve ser capaz de realizar operações CRUD na Autenticação de Identidade da Plataforma na Nuvem da SAP (URL: "https://<tenant-id>.accounts.ondemand.com/service/scim/Users") através do aplicativo e gerenciar usuários. Primeiro testei no Postman com sucesso. Mais tarde, tentei fazer uma chamada AJAX (diretamente no controller.js) para obter um json com todos os usuários já registrados na Autenticação de Identidade da SAP. Este é o 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); } });

Na console após várias tentativas, recebo o seguinte erro:

"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."


O que está errado? Alguma sugestão?

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

3 Respuestas

0
Cargando...

Olá Eugenio,

Sim, você precisa adicionar o destino ao seu neo-app.json.

...
{
	"path": "/service/scim/Users",
	"target": {
		"type": "destination",
		"name": "Users"
	},
	"description": "Usuários do Serviço de Autenticação de Identidade"
}
...

Sugiro que carregue os usuários em seu manifesto para que não precise fazer uma chamada Ajax separada:

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

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

Em seguida, você terá os usuários em seu JSONModel "userData"

Saudações,

Sebastian

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

Olá Sebastian obrigado pela resposta. Neste caso, eu preciso adicionar o destino do serviço de autenticação de identidade ao neo-app.json, correto?

Então, como posso fazer a chamada AJAX?

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

Olá Eugenio,

Crie uma Destinação para o seu propósito:

Em seguida, você deverá ser capaz de obter todos os usuários do Serviço de Autenticação de Identidade.

Espero que isso te ajude!

Saudações,
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?