예를 들어, 사용자가 로그인 한 경우 이제 사용자가 포럼 주제를 작성한다고 말할 수 있습니다. 사용자가 이미 로그인했는지 어떻게 알 수 있습니까?
"포럼 만들기"API에 현재 요청이 인증 된 사용자의 요청임을 알리는 핸드 셰이크가 있어야합니다. REST API는 일반적으로 상태 비 저장이므로 상태는 어딘가에 유지되어야합니다 . REST API를 사용하는 클라이언트는 해당 상태를 유지해야합니다. 일반적으로 이는 사용자가 로그인 한 이후에 전달되는 일부 토큰 형태입니다. 토큰이 양호하면 요청이 양호합니다.
Amazon AWS의 인증 방법을 확인하십시오. 한 API에서 다른 API로 "벅을 전달"하는 완벽한 예입니다.
* 이전 답변에 실질적인 응답을 추가 할 생각이었습니다. Apache Shiro (또는 인증 / 인증 라이브러리)를 사용해보십시오. 결론은 사용자 정의 코딩을 시도하고 피하십시오. 좋아하는 라이브러리를 통합하면 (Apache Shiro, btw 사용) 다음을 수행 할 수 있습니다.
- 로그인 / 로그 아웃 API를 같이 만들기 :
/api/v1/login
및api/v1/logout
- 이 로그인 및 로그 아웃 API에서 사용자 저장소로 인증을 수행하십시오.
- 결과는
JSESSIONID
클라이언트 (웹, 모바일 등)로 다시 전송 되는 토큰 (일반적으로 )입니다.
- 이 시점부터 고객이 수행 한 모든 후속 통화에는이 토큰이 포함됩니다
- 다음에 호출되는 API를 호출한다고 가정 해 보겠습니다.
/api/v1/findUser
- 이 API 코드가 수행 할 첫 번째 일은 토큰을 확인하는 것입니다 ( "이 사용자는 인증 되었습니까?").
- 응답이 NO로 돌아 오면 클라이언트에서 HTTP 401 상태를 다시 발생시킵니다. 그들이 처리하게하십시오.
- 답변이 예이면 요청 된 사용자를 반환하십시오.
그게 다야. 도움이 되었기를 바랍니다.