2015-05-26 8 views
0

Как мы разрешаем второму клиенту аутентифицировать пользователей и получать доступ к авторизованному серверу api? Пожалуйста, исправьте любую часть моего понимания, которая неверна.SOA: авторизация пользователей и авторизация api с несколькими клиентами

Аутентификация пользователя является частью регистрации/входа/выхода вашего приложения.
Утверждение приложения для api подтверждает, что ваше приложение имеет разрешение на доступ к api.
Пользователь должен войти в приложение, и приложение должно быть авторизовано, чтобы пользователь мог получить доступ к api.

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

Рассмотрите простое веб-приложение. Rails with devise используется в приложении (api client) для аутентификации пользователя. Затем приложение обращается к rails-api, используя привратник для авторизации приложения.

Рассмотрите возможность добавления простого мобильного приложения. Как мобильное приложение получит доступ к одной и той же службе аутентификации пользователя? Как мы разрешим доступ к мобильному приложению к нашей службе авторизации пользователей?

Нужно ли отделить службу проверки подлинности пользователя в своем собственном api, используя отдельный экземпляр привратника для авторизации мобильного приложения и веб-приложения перед созданием пользователей, а затем после аутентификации пользователей снова авторизуйте приложение, а также зарегистрированный пользователь, чтобы получить доступ к backend api?

Я уверен, что это должно быть проще, чем описано. Любые ресурсы, книги, видео также оценили.

+0

Этот вопрос является waaay для широкого. – max

ответ

1

Если я правильно понял ваш вопрос, то, что вы ищете, является сервис-ориентированной аутентификацией. В принципе, поставщик аутентификации может использовать Devise + Doorkeeper. Тогда потребители могли использовать omniauth-oauth2.

Хороший учебник по OAuth2: https://www.youtube.com/watch?v=zTsyeMV-N0c
Rails Конкретная реализация: https://www.youtube.com/watch?v=L1B_HpCW8bs

Ура!