Я собираюсь создать мобильное (и веб) приложение, которое позволит регистрировать электронную почту/пароль вместе с регистрацией в социальных сетях (facebook, google). Собственное или веб-приложение будет вызывать веб-службы REST (защищенные Spring OAuth2). Социальный вход будет обрабатываться собственным /веб-приложением. Служба REST не будет знать, если пользователь вошел в систему. В случае регистрации по электронной почте имя пользователя/пароль будет передано в WS. Учитывая факты, каков стандартный или хороший подход к обеспечению безопасности служб REST? Есть ли опыт работы с подобной архитектурой?
Пара идей, которые мы прорабатываем:
- В начале, когда приложение запускается, передайте идентификатор устройства в WS. WS автоматически отправит push-уведомление на устройство (используя apple/google), содержащее один код авторизации. Этот код будет передан для аутентификации OAuth2. Но не уверен, как обращаться с веб-приложением здесь.
- После того, как пользователь войдет в социальную сеть, получите токен передачи социального идентификатора от поставщика социальных услуг. Передайте токен социального доступа и этот идентификатор в WS. WS проверит токен по идентификатору, выполняющему вызов службы oauth провайдера (например, https://graph.facebook.com/me?fields=id&access_token=XXX ).