REST API로 토큰 기반 인증 사용
REST API 의 사용자는 HTTP POST 메소드를 사용하여 REST API login
자원에 사용자 ID및 비밀번호를 제공하여 인증할 수 있습니다. 이 사용자가 향후 요청을 인증할 수 있게 하는 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 토큰은-b
플래그를 사용하여 cookiejar.txt 파일에서 검색됩니다. CSRF 보호는ibm-mq-rest-csrf-token
HTTP 헤더가 있어야 제공됩니다.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-token
HTTP 헤더의 존재에 의해 제공됩니다. cookiejar.txt 파일의 위치는 LTPA 토큰이 파일에서 삭제되도록-c
플래그에 의해 지정됩니다.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