Как я должен обрабатывать аутентификацию в моем REST API? - PullRequest
1 голос
/ 29 июля 2010

Я новичок в этом, но я сделаю все возможное, чтобы объяснить, что я пытаюсь сделать.

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

Например:

У пользователя a есть сайт электронной торговли, и он хочет продать мой товар.Они смогут получить доступ к определенным деталям продуктов через веб-сервис.Они также смогут увидеть согласованную мной ставку, а также некоторые другие личные данные.

Как API должен обрабатывать аутентификацию запроса, поступающего с сайта User-a?

Я читал весь день о разных методах аутентификации, но все они, кажется, вращаются вокруг идеи третьей стороны, получающей доступ к определенной пользовательской информации.Например, если вы разрешите http://randomtwitterapp.com доступ к вашему профилю в Twitter.В этом случае сторонний сайт должен управлять несколькими разными пользователями и токенами авторизации.В нашем случае мой пользовательский веб-сайт взаимодействует от имени пользователя.Я надеюсь это имеет смысл.

1 Ответ

0 голосов
/ 11 февраля 2012

Давайте назовем пользователя A "Алисой", потому что называть ее User-A громоздко.

Рассматривайте сайт Алисы так, как если бы она была самой Алисой. Специальные расценки и т. Д. Относятся к конкретному веб-сайту, поэтому it войдите на ваш сайт. Выдайте учетные данные, которые разработчик этого сайта будет использовать для аутентификации, а затем используйте эти учетные данные для определения цены и продуктов, которые вы показываете.

Что касается реальных механизмов аутентификации, то это действительно зависит от ваших потребностей. Если все, что вам нужно, - это предоставлять разные данные разным людям, вы можете сделать что-то столь же простое, как токен API, переданный в строке запроса: http://api.example.com/products?key=9af4d8381781baccb0f915e554f8798d

Или, если у Алисы уже есть имя пользователя и пароль для вашего сайта, вы можете использовать ее в своих запросах API с Basic Auth.

Если Алисе понадобится ввести информацию о своей учетной записи на различных сайтах, которые она не контролирует, тогда oAuth очень пригодится. Таким образом, вы можете дать ей ключ API для каждого сайта, с которого ей нужно получить доступ к вашему API. И вы даете ей возможность удалить эти ключи API и запретить доступ к этим сайтам.

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