2013-05-08 3 views
0

Я нахожусь в настоящее время для создания управляемого API-интерфейса symfony2 web appliciton. Просто базовое приложение для изучения symfony2 и REST.Ток доступа OAuth для внутренних вызовов

Он будет основан на RESTful api. Вызовы API будут аутентифицированы с использованием OAuth.

Для примера: Если клиентское приложение хочет получить данные (информацию обо всех фруктах) через API, ему необходимо будет сделать запрос GET на URL-адрес и передать токен доступа в качестве параметра. Таким образом, URL-адрес будет выглядеть что-то вроде этого.

http://www.mysite.com/api/fruits.json?=<access token> 

Теперь проблема в том, что мне понадобятся одни и те же данные в одном из моих действий.

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

Как получить этот токен доступа?

Должен ли быть фиксированный токен, который будет использоваться для всех таких вызовов в моем приложении?

ответ

1

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

В принципе, для этого вам необходимо реализовать сервер аутентификации. i) Во-первых, приложение должно быть зарегистрировано для области;
ii) Используя приложение, пользователь регистрируется на сервере аутентификации/авторизации.
iii) Сервер проверяет, имеет ли приложение доступ к области действия и если пользователь зарегистрирован в вашей системе.
iv) Сервер создает токен доступа (который является строкой, подписанной HMAC) и возвращается в ваше приложение.
v) Приложение затем обращается к конечной точке (restful API) с токеном.
vi) Служба RESTful затем внутренне отправляет токен на сервер и извлекает идентификатор клиента, для которого выполняется вызов, и выполняет действия, которые он должен выполнять.

Я написал ответ, как только о том, как создать OAuth Service/Provider - How would an efficient OAuth2.0 server/provider work?

Кроме того, OAuth была разработана таким образом, что клиентские приложения/третье программное обеспечение сторонних производителей могут получить доступ к ресурсам пользователя от его имени. Очень простой пример: приложение, отправляющее что-то на вашу стену facebook от вашего имени. Это фактически доступ к ресурсу, который у вас есть (стена) и отправка на него. Вам не нужно OAuth только для получения некоторых данных - есть другие способы защиты API.

+0

благодарит за ваш ответ. я пройду через ссылки –

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

  • Нет связанных вопросов^_^