이것은 개념적인 질문입니다.
RESTful 웹 서비스에 대한 로그인 작업을 지원해야하는 클라이언트 (모바일) 애플리케이션이 있습니다. 웹 서비스가 RESTful이기 때문에 클라이언트가 사용자의 사용자 이름 / 암호를 수락하고 서비스에서 해당 사용자 이름 / 암호를 확인한 다음 모든 후속 요청과 함께 해당 사용자 이름 / 암호를 보내는 것을 기억하는 것과 같습니다.
이 웹 서비스의 다른 모든 응답은 JSON 형식으로 제공됩니다.
질문은 주어진 사용자 이름 / 암호가 유효한지 확인하기 위해 웹 서비스를 쿼리 할 때 웹 서비스가 항상 성공 또는 실패를 알려주는 JSON 데이터로 응답해야하는지 또는 좋은 자격 증명 및 HTTP에서 HTTP 200을 반환해야하는지입니다. 잘못된 자격 증명에 401.
내가 묻는 이유는 다른 RESTful 서비스가 자격 증명이 유효한지 묻는 경우에도 잘못된 자격 증명에 401을 사용하기 때문입니다. 그러나 401 응답에 대한 나의 이해는 유효한 자격 증명 없이는 액세스 권한이 없어야하는 리소스를 나타냅니다. 그러나 로그인 리소스의 전체 목적은 자격 증명이 유효한지 알려주는 것이기 때문에 로그인 리소스는 누구나 액세스 할 수 있어야합니다.
다르게 말하면 다음과 같은 요청이있는 것 같습니다.
myservice.com/this/is/a/user/action
잘못된 자격 증명이 제공되면 401을 반환해야합니다. 그러나 다음과 같은 요청 :
myservice.com/are/these/credentials/valid
특정 URL (요청)이 유효한 자격 증명을 사용하거나 사용하지 않고 인증되었으므로 401을 반환해서는 안됩니다.
나는 이것에 대한 정당한 의견을 듣고 싶습니다. 이를 처리하는 표준 방법은 무엇이며이를 논리적으로 처리하는 표준 방법은 무엇입니까?