2016-08-31 4 views
0

일부 정보를 얻기 위해 API를 사용하고 있습니다. 각 세션이 시작될 때 API에 요청을 보내려면 JWT 토큰을 가져와야합니다. 토큰을 얻은 후 요청을 보내려고하면 요청에 토큰을 첨부하지 않았으므로 권한이 없음을 알리는 오류가 발생합니다. 문제는 API 설명서에서이를 수행하는 방법을 설명하지 않고 어디에서나 찾을 수 없다는 것입니다. 어떻게해야합니까? 나는이 일을 Java이고 자신의 HttpURLConnection을 사용하고있다. 바라건대 당신은 내가 무슨 뜻인지 이해합니다.java에서 HttpURLConnection을 사용하여 JWT 토큰을 다시 보내는 방법은 무엇입니까?

고맙습니다!

+0

@eckes 완벽하게 작동하는 verry를 보내 주셔서 감사합니다. 헤더에 뭔가있을 거라 생각했지만 키를 알아낼 수 없었습니다. 중요하지 않지만 "무기명"이 필요한 이유는 무엇입니까? – user3600338

+1

대답으로 바꿨습니다. – eckes

답변

1

웹 서비스 (API)가 나타내는 토큰을 원하는 방식에 따라 다릅니다.

공통은 다음과 같습니다

  • HTTP 요청 헤더 (XHR 요청에 대한 문제)
  • 쿼리 매개 변수 (캐싱 때문에/로깅의 좋은 생각)
  • 양식 필드 (보편적으로 사용 가능한되지 않음)
  • URL 세그먼트 (캐싱/기록 때문에 좋지 않음)
  • 토큰이 값 (투명) 인 특정 쿠키 또는
  • authenticat (통상적 인) 이온 헤더

의 HTTP RFC에 정의 된 인증 헤더 일반적 BasicDigest 또는 인증 방식에 사용할 수있다. 문자열 (토큰)이 해당 토큰의 베어러를 인증하는 경우 "Bearer"체계가 사용됩니다 (예 : RFC6750의 OAuth2에 대해 정의 됨).

이에 대한

uc.setRequestProperty("Authorization","Bearer " + jwt); 

을 사용합니다.

관련 문제