Совместное использование токенов Google oAuth между Android, iOS и веб-приложениями

Мы создаем приложение, которое получает доступ к файлам на Google Диске. У нашего приложения есть веб-интерфейс, приложение для Android и приложение для iOS. Мы используем oAuth2, чтобы позволить пользователю авторизовать наше приложение для доступа к своей учетной записи на Google Диске. Мы используем Java SDK для Google Диска в веб-приложении и Android / iOS SDK для Google Drive для мобильных устройств. Мы не можем использовать токены oAuth, возвращаемые Android SDK, в iOS и наоборот. Мы также не можем использовать токен, полученный Java SDK (нашим веб-сервером) в приложении для Android. Из-за этого нам пришлось создать отдельные клиенты oAuth для каждой платформы (веб, Android, iOS), и пользователю необходимо авторизоваться один раз на каждой платформе, что не очень удобно для пользователя. Есть ли лучший способ использовать один и тот же токен oAuth для разных клиентов? Мне здесь не хватает чего-то очень простого?


person Goog DriveUser    schedule 07.09.2017    source источник
comment
Я думаю, тебе не хватает чего-то базового. Все клиенты должны быть в одном проекте. Пользователи авторизуются на уровне проекта, а не на уровне клиента. Я не знаю насчет iOS, но Android OAuth привязан к имени пакета и ключу подписи. Таким образом, вы не захотите делиться токеном доступа Android где-либо еще.   -  person pinoyyid    schedule 09.09.2017


Ответы (1)


Вам потребуется получить токен на iOS и Android для сервера.

См. этот документ для iOS См. этот документ для Android

В каждом приложении вы сначала просите пользователя войти в систему. Затем проверьте на сервере, есть ли уже токен или нет. В противном случае запросите этот доступ и сохраните токен на сервере.

person nvnagr    schedule 08.09.2017