웹 서버는 Stateless JSON API (로그인 단계 없음)를 구현합니다. 지금까지 우리의 모든 엔드 포인트는 POST
본문에 포함 된 인증 정보와 함께, - 단지 POST
을왔다 :안전하게 REST API에 인증을 전송하는 방법은 무엇입니까?
POST /api/getData
{
"apiKey": "I5r8ccXa8BLgoO50iZpunOGyf0h5e28L1exNpV5m5LI"
"userId": "8A7tRggxWjyQ+grQIwkAswtaityHhtQm0NTFGD5wnmM="
"passwordAuth": "p0/yv/Ptv8kOAY1k2NpR9EhwvGA/n/DF79JGaKJmF/k="
"otpToken": "913012"
}
이것은 분명히 매우 REST-ful입니다하지 않습니다. 우리는 읽기 전용 요청에 대해 HTTP GET
요청을 사용하고 싶지만 다른 방식으로 인증 정보를 보내는 것을 의미합니다. 많은 가능성이 있습니다 :
- URI에 넣으시겠습니까?
- 쿠키에 넣으시겠습니까?
- 사용자 지정 HTTP
Authentication
헤더에 넣으시겠습니까? - 고유 한 HTTP 헤더를 만들었습니까?
어느 것이 더 낫습니까? 그 이유는 무엇입니까? 또는 POST
본문이 여전히 임의의 인증 정보를 전송하는 가장 안전한 방법입니까?
클라이언트는 일반적인 전화 앱이지만 하루는 브라우저 버전 일 수 있습니다. 모든 것은 HTTPS를 통해 실행됩니다. 암호 해싱 및 기타 암호화 물건이 클라이언트에서 실행됩니다 (우리의 응용 프로그램은 종단 간 암호화를 수행합니다).