Построение REST API поверх настраиваемого php-фреймворка - PullRequest
1 голос
/ 15 ноября 2011

Некоторое время назад мы разработали веб-приложение, позволяющее пользователям размещать и отслеживать заказы.Теперь мы хотели бы добавить REST API, чтобы позволить настольному программному обеспечению размещать заказы, проверять статус и т. Д.

Я много раз просматривал веб-сайты, чтобы понять, куда двигаться дальше.Моя большая проблема с аутентификацией, как для приложения, так и для определенных вызовов, для конкретного пользователя.

Должны ли данные аутентификации приложения отправляться в качестве заголовка для всех вызовов?(Я смотрел на что-то вроде аутентификации AWS , но как получить доступ к заголовку аутентификации в PHP? Или я мог бы использовать пользовательские заголовки, например X_MYAPP_AUTH. Это плохая практика?)* Для проверки подлинности пользователя, нужно ли им передавать учетные данные пользователя при каждом вызове?Или при первоначальном вызове для генерации какого-либо токена пользователя?Или я должен выполнить полную реализацию OAuth-типа, но это кажется чрезмерной нагрузкой.

Мы были бы готовы использовать библиотеку, которая бы хорошо работала с нашей текущей платформой, но многие, которые я смотрелв списке только совместимость с Apache, и мы работаем на IIS7.Кроме того, мы будем развертывать отдельные экземпляры этого API-интерфейса для каждого из наших клиентов, поэтому любую инфраструктуру необходимо будет легко повторно развернуть.

1 Ответ

1 голос
/ 16 ноября 2011

Сохраняйте это простым, делайте это так же, как вы обычно делаете в веб-приложении.

Вы вызываете метод API входа с именем пользователя и паролем, когда пользователь запускает свое настольное приложение, если пользователь успешно входит в систему, вы возвращаете маркер сеанса, который пользователь хранит до истечения срока его действия.

Этот токен сеанса используется для всех вызовов API, которые пользователь будет делать в будущем, например, f.x. оформить заказ или проверить статус.

...