¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problema de autenticação Http em serviço RESTful implementado com Jersey: Como resolvê-lo?

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

Olá,

Estou implementando um serviço web RESTful que pode ser utilizado pelo aplicativo SMP para autenticação através da autenticação Http.

O serviço está escrito usando Jersey (Java) e usa autenticação básica. Testei este serviço usando o Advance Rest Client no Chrome para os métodos Get e Post.

Temos o SMP 3.0 SP05 instalado e configuramos o aplicativo no SMP para usar o serviço acima para autenticação Http.

Enquanto uso o Advance Rest Client, consigo depurar o serviço e confirmar que tudo está funcionando corretamente, mas quando a conexão é feita através do aplicativo presente no SMP, o valor de @HeaderParam("Authorization") aparece como "Nulo".

public Response rmcGetMobileAppLogin(@HeaderParam("Authorization") String authString) // authString aparece como null

Não tenho certeza do que pode estar errado e por que a cadeia de Base64 de Autorização não está chegando. Se eu configurar a segurança como Admin e depois verificar através do Advance Rest Client usando o nome de usuário e a senha de Admin, a conexão é bem-sucedida, mas não funciona com a autenticação http.

Qualquer indicação a respeito será útil.

Algumas capturas de tela estão anexadas para fornecer mais informações.

Saudações,

Amit

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

4 Respuestas

0
Cargando...

Sim, consigo aceder a http://smpserver:8087/ no navegador. Coloquei um ponto de interrupção no webservice para verificar se a solicitação chega até o webservice ou não.

Sempre que uso o cliente REST, o ponto de depuração no webservice é ativado, mas o parâmetro de autorização está nulo.

Sim, também consigo fazer ping ao backend.

Estou enviando o cabeçalho http de autorização com o nome de usuário e senha codificados em base64 ao enviar a solicitação, como pode ser visto nas imagens anexas.

Não estamos utilizando nenhum mecanismo SSO e mantemos a autenticação limitada à autenticação básica. Deveria ser o valor da aba backend SSO? Atualmente é Básico.

Não há servidor proxy SMP e o webservice está sendo executado no mesmo sistema por enquanto, e como mencionado anteriormente, o ponto de interrupção é ativado sempre que uma solicitação chega através do SMP.

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

Você pode acessar http://smpserver:8087 no cliente REST/navegador?

Você pode fazer ping no ID da aplicação criado no painel de administração? Deveria ver "servidor backend alcançado com sucesso"


Estou enviando o valor do cabeçalho de Autorização através do cliente REST, há algum outro lugar onde devo fornecer credenciais?

Refiro-me a um WS restful com usuário e senha para o valor do cabeçalho de Autorização, já que você configurou um perfil de segurança de autenticação HTTP contra o ID da aplicação.

Você também pode verificar

  • Qual mecanismo de SSO você adicionou na aba BACKEND? Deveria ser SSO2
  • Você pode acessar a URL configurada no perfil de segurança de autenticação HTTP? Há algum servidor proxy envolvido?

Saudações,

J

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

Obrigado Jitendra pela resposta rápida.

Sim, devido a um conflito de portas, movi a porta Http para 8087.

O link que compartilhou é a referência que usei para testar a conectividade do aplicativo e, infelizmente, mesmo depois de seguir isso, não consegui resolver o problema.

" Como está usando autenticação HTTP, deve fornecer credenciais de backend para o cabeçalho de AUTORIZAÇÃO. "

Não tenho certeza se entendi a declaração anterior. Estou enviando o valor do cabeçalho de Autorização através do cliente REST, há algum outro lugar onde preciso fornecer credenciais?

Por favor, esclareça.

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

Olá Amit,

Você configurou explicitamente a porta 8087 (para https)? Por padrão, deveria ser 8080 (para http) a solicitação.

Dê uma olhada aqui

Como você está usando autenticação HTTP, deve fornecer credenciais de backend para o cabeçalho de AUTORIZAÇÃO.

Saudações,

JK

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?