2015-07-28 4 views
1

Я довольно новичок в Oauth2, и кажется, что я застрял.Laravel Oauth2 несколько грантов

Для защиты нашего API мы используем OAuth2. У нас много вызовов, содержащих информацию на основе учетной записи, так как мы используем грант password в OAuth.

Но, я также должен защитить свой звонок регистрации, поэтому только зарегистрированные приложения с действительными client_id и client_secret могут использовать этот вызов. Поэтому, прочитав некоторое время, мне показалось, что мне нужно использовать грант client_credentials для этих вызовов.

Но теперь у меня нет абсолютно никакой идеи, как я могу определить, ведьма должен использовать password из client_credentials.

Я думаю неправильно, и невозможно ли использовать конкретный грант для определенного вызова или как определить, когда использовать какой грант?

FYI: Я использую Laravel5.1 и Luca Degasperi's Laravel OAuth2 server

Спасибо!

+0

Какие типы клиентов будут иметь доступ к api? – dschniepp

+0

Android-приложение и приложение iOs ... –

ответ

1

Обычно вы не будете ограничивать вызовы или маршруты для конкретных типов грантов, а для several reasons практически невозможно ограничить доступ к клиентскому приложению через гранты oauth.

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

Дальше больше я предпочел бы учетные данные клиента или владелец полномочия грант, это лучше в фактах удобства и безопасности (Смена пароля, доступ к ним для конкретных приложений, ...) больше о различных grants.

+0

И как узнать, какой пользователь в приложении запрашивает данные своего профиля (например)? Добавление параметра с запрошенным пользователем user_id не кажется мне безопасным ... –

+0

Токены (ы) привязаны к user_id, чтобы вы могли получить доступ к пользовательским данным через Auth :: user(). – dschniepp

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