OAuth: вариант использования реализации OAuth - PullRequest
5 голосов
/ 10 февраля 2012

У меня есть веб-приложение, которое выполняет множество запросов ajax с php-сервером и сервером базы данных. Я также создал приложение для iPhone и приложение для Android, которые до сих пор работали как автономные приложения.

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

Может кто-нибудь пролить свет на это?

Ответы [ 2 ]

4 голосов
/ 10 февраля 2012

Основное использование OAuth - авторизация сторонних приложений для доступа к личным ресурсам пользователя на веб-сайте без предоставления учетных данных стороннему приложению. Например, предположим, что Twitter хочет получить список контактов из вашей учетной записи Yahoo . Традиционным способом является предоставление вашего имени пользователя и пароля для Twitter . Но с OAuth вы даете им временный токен (называемый Access Token), который разрешает Twitter доступ к вашим контактам на Yahoo в течение ограниченного периода времени (до тех пор, пока не появится этот токен). истекает или вы, как владелец частного ресурса, явно отозваете его).

Тем не менее, OAuth не относится к безопасной передаче данных в Интернете. Это другая история, которая обычно достигается с помощью SSL. Даже если вы используете OAuth, вы должны использовать вместе SSL, чтобы обеспечить надежную отправку и получение данных.

Так что в вашем случае вы должны увидеть, для чего используется API. Если это общедоступный API, который не предоставляет никаких личных данных звонящим, нет необходимости использовать OAuth. Однако если API предназначен для доступа к частным ресурсам отдельных пользователей, вы можете рассмотреть возможность использования OAuth. Если вы решите внедрить OAuth, вы можете разрешить другим сторонним приложениям получать доступ к вашему API в будущем без каких-либо проблем.

0 голосов
/ 08 июня 2015

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

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

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

Вы можете сослаться на видео, где я реализовал сервер OAuth в Laravel 5, используя bshaffer, которая является одной из лучших библиотек OAuth для любой среды PHP для пользователя.https://www.youtube.com/watch?v=0vGXbWdtjls

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...