2016-10-12 2 views
2

저는 우편 클라이언트를 사용하여 JIRA API에 대한 REST 호출을하고 있습니다. "POST에 자격 증명을 http://jira.example.com:8090/jira/rest/auth/1/session에게 보내라고합니다."라고 말하면서 SESSION을 얻습니다. Form-data, application/x-www-form-urlencoded, raw 등으로 게시를 시도했습니다. 이것이 올바른 방법입니다. https://developer.atlassian.com/jiradev/jira-apis/jira-rest-apis/jira-rest-api-tutorials/jira-rest-api-example-cookie-based-authentication쿠키 기반 세션을 만들기 위해 POSTMAN 클라이언트를 사용하여 자격 증명을 게시하는 방법

+0

당신은'raw'를 시도하고'content-type'을'application/json'으로 설정 했습니까? 당신은 어떤 반응을 얻습니까? –

+0

"인증되지 않았습니다.이 작업을 수행하려면 인증이 필요합니다." –

+0

그리고이 글을 게시 하시겠습니까? 'http : // localhost : 8090/jira/rest/auth/1/session' –

답변

5

당신이 우편 배달부를 사용하고 있기 때문에, 당신이 dev에 환경에있어 있으리라 믿고있어 : 여기

내가 다음하고있는 튜토리얼입니다. 이 경우 auth 헤더 (base-64로 인코딩 된 사용자 이름/비밀번호)를 사용하는 것이 더 간단 할 수 있습니다. 문서 here에서 : 당신이 구성하고 기본 인증 헤더를 직접 보낼 수 있습니다 당신이 필요한 경우

기본 인증 헤더를

을 공급. 이렇게하려면 다음 단계를 수행해야합니다. username : password 형식의 문자열을 만듭니다. password Base64로 인코딩합니다. 내용이 "Basic"이고 인코딩 된 문자열이 뒤에 오는 "Authorization"헤더를 제공하십시오. 예를 들어 "fred : fred"문자열은 base64에서 "ZnJlZDpmcmVk"로 인코딩되므로 요청을 다음과 같이 작성합니다. 우체부의 Headers 섹션에서

curl -D- -X GET -H "Authorization: Basic ZnJlZDpmcmVk" -H "Content-Type: application/json" "http://kelpie9:8081/rest/api/2/issue/QA-31"

,

또한

application/json로 헤더 Content-Type을 추가하는 것을 잊지 마십시오 (당신은 빠르게 인코딩 base64encode.org을 사용할 수 있습니다 Basic <base64-encoded-username:password>Authorization를 추가 귀하의 사용자 이름/비밀 번호). 는 사용자 이름 콜론 - 암호로에 문자열을 넣어 것을 잊지 마십시오 당신은 내가 우체부와 동일한 UI에있는 경우, 승인을 클릭합니다 (username:password)

0

, 인증 유형을 선택합니다 (I 기본 인증을 성공적으로 사용)를 입력 한 다음 자격 증명을 입력하십시오. 다음으로 body 탭을 클릭하고 raw를 선택하고 오른쪽의 드롭 다운 메뉴에서 JSON (applications/json)을 선택하고 본문을 정상적으로 제공하십시오.

이것이 첫 번째 장애물입니다. 다음 히트 할 수있는 장애물 (그리고 내가 붙어있는 장애물)은 기본 인증이 일단 승인되면 JIRA는 코드 403을 사용하여 XSRF (Cross Site Request Forgery checks)의 일부로 액세스를 거부합니다. postman과 newman을 사용하는 것은 액세스 할 수 있도록 여러 농구를 뛰어 넘어야하는 전체 플러그인을 작성하는 것보다 훨씬 간단하기 때문에 우체부에서 게시하고 붙여 넣을 수있는 가능한 해결 방법이 있는지 지금 열어보십시오.