2017-12-20 4 views
0

Java의 Ready-API에서 사용하지만 문제가있는 REST 호출을 다시 작성하려고합니다.ReadyApi 인증 헤더가 작동하지 않지만 기본 인증 탭이 수행하는 이유

ReadyAPI에서 GET 요청을 만들고 UI의 AUTH 탭을 사용하여 사용자 이름과 암호를 사용하여 Basic으로 설정하고 "USE GLOBAL PREFERENCE"를 선택하면 문제없이 작동합니다. 그러나 "선제 적으로 인증"을 선택하면 실패합니다.

또한 "인증"탭을 사용하는 대신 base64 인코딩 문자열과 함께 인증 헤더를 삽입하면 readyAPI에서 실패합니다. 이것은 내가 이야기하려고 시도하는 다른 서버에서는 작동 하나이 서버에서는 그렇지 않습니다.

인증 헤더와 함께 실패한 이유를 찾으려고합니다. 마찬가지로 restTemplate 함께 자바에서 동일한 호출을 시도하고있어.

뭔가 같은 : 그것은 성공하게 "사용 글로벌 환경 설정"으로 인증 탭을 사용하는 경우 ReadyAPI 다르게하고 무엇

String plainCreds = username + ":" + password; 
    byte[] plainCredsBytes = StringUtils.getBytesUtf8(plainCreds); 
    String base64Creds = Base64.encodeBase64String(plainCredsBytes); 

    httpHeaders = new HttpHeaders(); 
    httpHeaders.add(HttpHeaders.AUTHORIZATION, "Basic " + base64Creds); 

? 자바에서 이것을 어떻게 할 수 있습니까?

답변

0

"기본"에 대한 인증 방식은 구성표 이름의 적절한 대문자로 전달 될 필요가있다 :

httpHeaders.add(HttpHeaders.AUTHORIZATION, "Basic " + base64Creds); 

https://tools.ietf.org/html/rfc7617 2 절 그 오타입니다

+0

죄송합니다 '기본'인증 제도, 나는 확실하게 두 가지 방법을 시도했지만 작동하지 않습니다. 또한 기본 인증 탭과 함께 우편 배달부를 시도하고 또한 실패합니다. 편집 된 게시물 – DAC

+0

기본 인증 요청과 함께 말풍선 요청을 보내실 수 있습니까? 또한 실제 요청을 볼 수 있습니다 (차이점을 볼 수 있도록 요청을 수락하는 서버에 대한 액세스 권한이 있습니까?) – cwa

+0

요청을 수락하는 서버에 직접 액세스 할 필요가 없습니다. 그러나 시도 할 때 기본 인증이있는 컬 (curl) 또한 HTTP 상태로 인증에 실패합니다. 401 -이 리소스에 액세스하려면 전체 인증이 필요합니다. ReadyApi는 잘 작동하기 때문에 일부 자동 마법 물건을 사용하고 있습니다. – DAC