2012-02-20 3 views
1

Я собираюсь создать платформу сообщества с нуля. Сначала мы создадим WebServices, и у сообщества могут быть сторонние компоненты, поэтому иметь надежные WebServices - это хорошая идея.Создайте REST WebService с GAE, используя OAuth

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

Кстати: перед запуском веб-сайта мы доставим мобильное приложение.

ответ

1

Весь смысл OAuth - разрешить другим веб-сайтам (потребителям) получать доступ к вашим данным (вы являетесь поставщиком). Поскольку вы единственный потребитель ваших данных, нет необходимости внедрять OAuth на этом этапе разработки.

Будьте аккуратны, строите что-то быстро и ставьте перед пользователями/тестерами. Только на этом этапе вы обнаружите реальные ошибки и получите обратную связь по сервису, чтобы вы могли улучшить его и управлять разработкой в ​​правильном направлении.

Примечание: OAuth as provided by App Engine (второй абзац) поддерживает только пользователей с учетными записями Google (даже если используется OpenID).

+0

Хорошо, что имеет смысл. Я отключаю как можно больше, имея OAuth для последующей реализации. – Dominik

+0

Неправильно, OAuth широко используется сегодня только для проверки подлинности (то есть кто вы), без реального доступа к каким-либо вашим данным. Например, Google рекомендует использовать OAuth2.0 для аутентификации. Вы просто не запрашиваете никаких областей, кроме 'id' и, вероятно,' email'. И это единственный способ правильно аутентифицировать пользователей Android. –

+0

@DzmitryLazerka: OAuth был определен как стандарт авторизации, а не стандарт аутентификации. Конечно, в реальной жизни потребители используют OAuth только для аутентификации, но для этого не был разработан OAuth. Кроме того, OAuth не определяет аутентификацию, поэтому каждый поставщик OAuth реализует аутентификацию по-своему, делая интеграцию болью. –

0

Из моего опыта я создал REST WS аутентификационным агностическим способом: методы джерси принимают все, а затем для проверки запросов есть несколько фильтров. Я использовал аутентификацию OpenId для веб-части, OAuth и BASIC AUTHENTICATION (с SSL) для API.

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

Последняя «философская» вещь: OAuth не является полностью безгосударственным, на самом деле у вас есть временный токен, который аутентифицирует пользователя и похож на сеанс в браузере!

+0

Thx Michele. Я думаю, что буду копаться в этом джерси. – Dominik

Смежные вопросы