#android #ios #ruby_on_rails #авторизация #google_api
Я разрабатываю серверную часть приложения на Rails. Front-end — мобильное приложение на Android / iOS. Задача — в приложении должна быть возможность входить через Google-аккаунт. Но я не понимаю, как всё это должно взаимодействовать. Даже если пользователь авторизуется именно в приложении, как back-end об этом узнает?
Ответы
Ответ 1
Делается это так: На клиенте каким-то образом (через SDK соц.сети или через браузер (в т.ч. встроенный в приложение)) юзер авторизуется в вашем приложении. Под последним имеется в виду набор из сгенерированных соц.сетью ключей, которые надо указывать при обращении к API оной. В случае гугла оно, вроде, и не нужно. После авторизации, в зависимости от соц.сети и всяких разных условий (секурность там всякая etc) с клиента на ваш сервер шлётся ID юзера (случай гугла), authCode или accessToken. В зависимости от того, что именно клиент вам присылает надо или валидировать ID, или обменять authCode на accessToken. Если присылается сразу accessToken то переходим к след. пункту. Теперь у вас есть все возможности получения всех возможных (разрешённых юзером) данных юзера. Либо как в случае с гуглом, после проверки присланного ID вы получаете объект юзера и делаете с ним что хотите (в БД кладёте, например или обновляете дату его последнего посещения) или, имея токен запращиваете его данные из API соц. сети. Вот гугловая дока по поводу сервера: https://developers.google.com/identity/sign-in/web/backend-auth Там написано, что есть либы под JAVA, NODE.JS, PHP, PYTHON
Комментариев нет:
Отправить комментарий