Несколько приложений Facebook, поддерживаемых одним и тем же приложением Spring Boot

Итак, я следовал приведенному ниже (классическому) руководству по весенней загрузке с Facebook:

https://spring.io/guides/tutorials/spring-boot-oauth2/

Все работает нормально, однако я не могу найти документацию, которая помогла бы мне реализовать мой конкретный вариант использования. Итак, вот оно:

  1. У меня будет два приложения facebook: одно для владельца и другое для обычного пользователя.
  2. Эти два приложения facebook будут запрашивать разные разрешения (например, для приложения owner оно будет запрашивать разрешение на публикацию на фан-странице, а для обычного пользователя — только для основная информация о пользователе)
  3. Будет два настоящих приложения: одно мобильное (iOS и Android) и другое приложение для браузера (это не совсем актуально)
  4. REST API будет защищен на основе ролей, то есть владелец будет иметь роль ВЛАДЕЛЕЦ, а обычный пользователь будет иметь REGULAR_USER , чтобы, например, обычный пользователь не мог вызвать API для публикации на фан-странице.
  5. Оба приложения позволят войти в систему с Facebook или без него, потому что мне нужна таблица пользователей для хранения дополнительной информации, и поэтому
  6. Со временем обычный пользователь сможет войти в систему как владелец, если он/она загрузит приложение **владельца*.

Итак, резюмируя, мне нужно:

  1. Два приложения facebook будут поддерживаться одним и тем же загрузочным приложением Spring
  2. Возможность авторизовать пользователя с APP ID X и назначить роль ВЛАДЕЛЕЦ, а также возможность авторизовать пользователя с APP ID Y и назначить роль < сильный>REGULAR_USER
  3. Чтобы иметь возможность настроить (в YML) два разных приложения facebook
  4. Пользователь сможет объединить существующую учетную запись с facebook, если он авторизуется позже

Думаю, это все. Я отредактирую позже, если найду больше полезной информации.

Спасибо!




Ответы (1)


Есть проект Дэйва Сайера, который показывает, как настроить сервер авторизации и несколько серверов ресурсов в одном приложении.

Аналогичный вопрос с решением: OAuth2 Система единого входа для нескольких серверов ресурсов с Spring Boot и jHipster

person kinjelom    schedule 09.03.2016