세션에 광범위하게 의존하는 PHP 애플리케이션이 있습니다. 이제 사용자를위한 API를 구축 할 것을 고려 중입니다. 초기 생각은 사용자가 이메일 주소, 비밀번호 및 API 키 (각 사용자마다 고유)를 사용하여 API에 대해 인증해야한다는 것입니다.PHP API 인증 및 세션
그러나 현재 응용 프로그램 (모델 포함)은 사용자 세션에 광범위하게 의존하기 때문에 최상의 접근 방식에 대해서는 확신하지 못합니다. API 요청이 제대로 인증된다고 가정
, 그것은 허용 될 수로 :
- 시작 사용자가
- 실행 모델을 인증하고 사용자에게 JSON/XML을 반환되면 API 호출에 대한 세션
- 이 세션은 각 API 호출에 대해 인스턴스화 한 다음 즉시 플러시됩니다 것을 의미 세션
처치하십시오. 이거 괜찮아? 아니면 다른 대안을 고려해야합니까?
정확합니다. API는 상태가없고 가능한 경우 세션/쿠키를 사용하지 않아야합니다. 하지만 쉽게 해결할 수 있습니다. 그러나 실제로는 복잡하기 때문에 기존 인증 프레임 워크를 다시 사용해야합니다. 예를 들어, https://github.com/delight-im/PHP-Auth는 프레임 워크에 독립적이며 데이터베이스에 독립적입니다. 그런 다음 모든 요청과 함께 자격 증명을 보내고 서버에서 (1) 로그인하고, (2) 실제 작업을 수행 한 다음 마지막으로 (3) 다시 로그 아웃하십시오. – caw