Я хочу использовать в своем приложении вход в Google и Facebook. Пользователи будут использовать только приложение android, на начальном сайте интерфейс будет недоступен. В качестве внутреннего сервера я выбрал Spring. Я провел исследование, как реализовать эту функциональность и заметил, что протокол OAuth2 - хороший выбор. Я сделал картину с моим пониманием того, как реализуется поток, но я не знаю наверняка, правильно это или нет.
- Когда я нажимаю кнопку входа в Google или Facebook, я получаю согласие и заполняю имя пользователя и пароль или они будут заполнены автоматически. И нажмите «Принять».
- Я получил доступ к гранту, если аутентификация правильная.
- Я отправляю доступ к гранту приложению Spring.
- Где следующее назначение перенаправляется на сервер авторизации по назначению для обмена на токен доступа.
- токен доступа отправляется на сервер Spring.
- Я отправляю токен доступа с запрошенным полем, хочу указать адрес электронной почты, идентификатор пользователя, полное имя и т. д. c.
- Я получил информацию, которую я запросил.
- Я сохранил ее в своей базе данных.
- Серверный токен возврата доступа к мобильному приложению, необходимый для активного сеанса.
Пожалуйста, поправьте меня, если я ошибаюсь. Я видел множество реализаций OAuth2, но не могу найти хорошего объяснения, когда android использует пружину в качестве сервера.
Связь между android и пружиной может быть реализована, например, Retrofit?
С уважением, пожалуйста, об ответах.