Postman 과 Wp REST API 2.0 으로 JWT 서버엔진 만들기 (3)

이번 시간에는 지난 시간에 이어 JWT token 을 사용하여 상태유지를 지속하고, 메세지를 보내는 과정을 설명할까 합니다.

앱에서 글 등록을 했을 경우, 누가 요청을 했는지 서버에 알리는 것은 token 을 통해서 알릴 수 있습니다.

token 은 쿠키나 localStorage 에 저장해 두고 이벤트 발생시 GET 이나 POST 방식으로 REQUEST 를 보내면 됩니다.

우선 글 등록이 발생했을 경우 서버쪽에서 처리해주는 프로그램 코드를 보여드리겠습니다.

서버 쪽에서는 HEADER 의 키값이 Authorization 인 값 중에서 Bearer 뒤에 나오는 토큰 값을 짤라서 DB에 그 값이 있는 user_id 를 찾아내면 됩니다.

인증과 관련된 Request Header 인 Authorization 을 파싱하기 위해 함수 하나를 만들어야 합니다.

 

그 후에는 글 등록한 사람을 sender_id 로 하여 저장하고 DB에 기록합니다.

마찬가지로 글 읽기 이벤트의 코드는 요청한 사람을 my_id 변수에 담고, receiver_id 가 my_id 인 것을 찾으면 됩니다.

그럼 POSTMan 으로 테스트를 해 볼까요?

POSTMan 의 Authorization 탭이 아니라  Header 탭에서 Value 를 따로 입력해서 테스트를 해야 합니다.

receiver_id 는 메세지를 전달 받을 사람의 ID 값입니다.

테스트를 위해서 테이블에 user_id 1번이 4번에게 메세지를 보낸 데이타를 입력해 줍니다.

POSTMan 으로는 4번 회원의 token 을 HEADER 에 넣어서 POST 에는 sender ID 를 1 인 회원의 정보를 요청합니다.

이것은 4번 회원과 1번 회원이 채팅하는 도중, 4번 회원이 1번 회원이 보낸 메세지를 보여주는 화면 구성에 사용하는 프로세스입니다.

이렇게 요청을 하면 4번 회원이 1번 회원이 보내온 메세지를 화면에 그리는 작업을 앱에서 수행할 수 있습니다.

단, sender_id 를 예측하기 힘들게 base64_encode 를 사용해도 좋습니다.
하지만 이 값을 제3자가 가로채거나 디버거툴로 분석한다 하더라도 해커에게 어떤 이익이 없기 때문에 암호화할 필요는 없습니다.

앱에서 드로잉하는 파트는 여러분들의 몫으로 남겨두고, WORDPRESS REST API 를 사용하여 JWT 토큰을 활용하고 API 서버 (백엔드) 구조 설계과 과정들에 관한 이야기를 마무리 하겠습니다.