![[V9.1.0 2018년 7월]](ng910.gif)
REST API로 토큰 기반 인증 사용
REST API 사용자는 REST API login 리소스에 사용자 ID와 비밀번호를 제공하여 HTTP POST 방식으로 인증할 수 있습니다. 이 사용자가 향후 요청을 인증할 수 있게 하는 LTPA 토큰이 생성됩니다. 이 LTPA 토큰에는 접두부 LtpaToken2가
있습니다. 이 사용자는 HTTP DELETE 메소드를 사용하여 로그아웃할 수 있고 HTTP GET 메소드를 사용하여
현재 사용자의 로그인 정보를 조회할 수 있습니다.
시작하기 전에
- REST API 을 사용할 권한이 있는 사용자, 그룹 및 역할을 구성합니다. 자세한 내용은 사용자 및 역할 구성을 참조하세요.
- 기본적으로 LTPA 토큰이 포함된 쿠키 이름은
LtpaToken2로 시작되며, mqweb 서버가 재시작될 때 변경될 수 있는 접미부를 포함합니다. 이 랜덤화된 쿠키 이름으로 동일한 시스템에서 둘 이상의 mqweb 서버를 실행할 수 있습니다. 하지만 쿠키 이름을 일관된 값으로 유지하려면 setmqweb 명령을 사용하여 쿠키의 이름을 지정할 수 있습니다. 자세한 내용은 LTPA 토큰 구성하기를 참조하세요. - 기본적으로 LTPA 토큰 쿠키는 120분 후에 만료됩니다. setmqweb 명령을 사용하여 LTPA 토큰 쿠키의 만기 시간을 구성할 수 있습니다. 자세한 내용은 LTPA 토큰 구성하기를 참조하세요.
- REST 요청을 전송할 때 보안 연결을 사용하고 있는지 확인하십시오.
login자원에서 HTTP POST 메소드를 사용하는 경우 요청과 함께 전송되는 사용자 이름 및 비밀번호 조합은 암호화되지 않습니다. 따라서 REST API 에서 토큰 기반 인증을 사용할 때는 보안 연결( HTTPS )을 사용해야 합니다. 기본적으로 LTPA 토큰 인증으로 HTTP를 사용할 수 없습니다. secureLTPA를False로 설정하여 비보안 HTTP 연결에서 사용할 LTPA 토큰을 사용으로 설정할 수 있습니다. 자세한 내용은 LTPA 토큰 구성하기를 참조하세요. login자원에서 HTTP GET 메소드를 사용하여 현재 사용자의 신임 정보를 조회하며 LTPA 토큰을 제공하여 요청을 인증할 수 있습니다. 이 요청은 사용자 이름 및 사용자에게 지정된 역할에 대한 정보를 리턴합니다. 자세한 내용은 GET/login을 참조하세요.
프로시저
예
Q1 을 만드는 방법을 보여 줍니다:- 로그인하여 접두부가
LtpaToken2인 LTPA 토큰을 로컬 쿠키 저장소에 추가하십시오. 사용자 이름 및 비밀번호 정보가 JSON 본문에 포함됩니다.-c플래그는 토큰을 저장할 파일의 위치를 지정합니다.curl -k https://localhost:9443/ibmmq/rest/v1/login -X POST -H "Content-Type: application/json" --data "{\"username\":\"mqadmin\",\"password\":\"mqadmin\"}" -c c:\cookiejar.txt - 큐를 작성하십시오. 큐 자원과 함께 HTTP POST 메소드를 사용하여 LTPA 토큰에 대해 인증하십시오. 접두사가
LtpaToken2인 LTPA 토큰은 cookiejar.txt 파일에서-b플래그를 사용하여 검색합니다. CSRF 보호는ibm-mq-rest-csrf-tokenHTTP 헤더가 있어야 제공됩니다.curl -k https://localhost:9443/ibmmq/rest/v1/admin/qmgr/QM1/queue -X POST -b c:\cookiejar.txt -H "ibm-mq-rest-csrf-token: value" -H "Content-Type: application/json" --data "{\"name\":\"Q1\"}" - 로그아웃한 후 로컬 쿠키 저장소에서 LTPA 토큰을 삭제하십시오. LTPA 토큰은
-b플래그를 사용하여 cookiejar.txt 파일에서 검색합니다. CSRF 보호는ibm-mq-rest-csrf-tokenHTTP 헤더의 존재에 의해 제공됩니다. cookiejar.txt 파일의 위치는-c플래그로 지정하여 파일에서 LTPA 토큰이 삭제되도록 합니다:curl -k https://localhost:9443/ibmmq/rest/v1/admin/qmgr/QM1/queue -X DELETE -H "ibm-mq-rest-csrf-token: value" -b c:\cookiejar.txt -c c:\cookiejar.txt