나는이 "api-centric"개념에 대해 머리를 감싸려고 노력하고 있습니다. 여러 가지 이유로 (거꾸로 뒤집은 후) 나는 대답을 찾을 수 없습니다. 내 자신, 그래서 당신이 나를 도울 수 있기를 바랍니다 :)Api-Centric 응용 프로그램 만들기, 내 자신의 의문점
여기는 개인 프로젝트의 일부로 소셜 응용 프로그램 웹 사이트와 같은 것을 만들 필요가 있습니다. 단지 "작은 프로젝트"이기 때문에 "좋아요"라고 말합니다. 너무 멋져.
내가 생각하는 생각은 내가 휴식 서비스를 만들고, 리소스 (생성/삭제/업데이트/읽기)에 필요한 모든 방법을 가지고 http://api.domain.com/v1/ 같은 것을 말하는 것입니다.
이제이 서비스가 생성 된 후 내 웹 사이트를 만들어야합니다 (예 : http://www.domain.com/).이 웹 사이트는 각 작업에 대해 내 api.domain.com과 통신합니다. 새로운 사용자가 등록하면 API 서버에 데이터를 보내고 처리하고 응답을 반환합니다.
그런 다음 웹 사이트를 만든 후 phonegap을 사용하여 iphone 및 Android 용 기본 응용 프로그램을 만들 계획입니다. 이러한 모바일 응용 프로그램은 기본적으로 내 웹 사이트처럼 작동하여 API 서버에 연결하고 다양한 작업을 수행합니다.
인증이 필요하지 않으면 매우 간단합니다. 따라서 API 끝점을 아는 사람이라면 모든 리소스를 관리 할 수 있습니다. 사용자가 추측 하듯이 내가 원하지 않는 일을 구현해야합니다. 권한 부여 메커니즘 및 나는 무엇을 사용해야할지 잘 모르겠습니다. OAuth2를 구현하여 내 API가 oauth 공급자 역할을하도록하고 내 웹 사이트/모바일 앱이 API에 연결하고 권한을 얻은 다음 작업을 수행 할 것으로 생각합니다. 좋은 접근인가, 어떤 생각인가?
다음으로 oauth를 고수하고 모든 것이 정상적으로 작동한다고 가정 해 보겠습니다. 내 사용자에게 자신의 앱을 만들어 다른 사용자/자신의 데이터에 대한 정보에 액세스 할 수있게하려면 어떻게해야할까요? API를 사용하지 않는 것이 좋습니다), 앱을 설치할 사용자는 자신의 정보에 액세스하려면 앱을 승인해야합니다. 나는 oauth (페이스 북/트위터/다른 사람들이 그랬던 이래로)가 가능하다는 것을 안다. 문제는 단순한 사용자 생성 앱과 내 자신의 앱 (웹 사이트 및 모바일 앱)을 구별하는 방법이다. 이 분리는 퍼심을 요청할 때 다양한 "범위"를 제공함으로써 가능합니까? 그렇지 않은 경우 어떤 다른 접근 방법을 사용해야합니까?
나는 oauth에 익숙하지 않으므로 어쩌면 질문 중 일부가 약간 잘못되어 잘하면 내 문제의 요점을 알 수 있습니다.
도움이된다면 Yii 프레임 워크, Apache 2 (mod ssl available), MySQL과 함께 PHP 5.4를 사용하겠습니다.
감사합니다 :)
네,하지만 REST가 의미하는 바를 모두 깨뜨린 이유는 세션을 사용하여 로그인 상태를 유지하기 때문에 더 이상 상태가 유지되지 않습니다. – Twisted1919