Как использовать внешний поставщик аутентификации, такой как вход в Google, для веб-сайтов и мобильных приложений с использованием openid connect и oauth 2.0? - PullRequest
0 голосов
/ 14 апреля 2019

Я хочу включить вход в систему с помощью Google в моем веб-приложении и в приложении для Android. Существует защищенный api-сервер rest rest, который обслуживает как Android-приложение, так и веб-сайт, и я хочу сделать его безопасным с помощью токена аутентифицированного доступа внешнего поставщика.

Для веб-приложения я посмотрел этот пример . Он использует openid connect с passportjs.

Что касается приложения для Android, я просмотрел несколько статей, в которых приложение для Android относится к категории публичных клиентов и предлагает использовать pkce. Например. эта ссылка .

возможно ли использовать поток авторизации с pkce для внешних провайдеров, таких как Google, с приложениями для Android?

Кроме того, я нашел этот способ подключения без openid для реализации аутентификации Google в приложениях для Android. Например. Справочник Google . это был бы предпочтительный подход?

Обновление: Похоже, это проблема из двух частей. Первая часть - это то, как будет работать вход в Google на Android-приложении и на веб-сайте. Если приложение и веб-сайт используют свое собственное решение для входа в Google, они будут иметь свои собственные сеансы и токен доступа. Поскольку между ними нет требований к единому входу, я считаю, что это нормально.

Вторая часть - токен доступа API. Поскольку api не имеет состояния, ему нужен токен авторизации доступа с веб-сайта и мобильного приложения. Веб-сайт может считаться доверенным клиентом и, следовательно, может иметь секрет клиента для кода доступа API. Однако приложение не является доверенным клиентом, поэтому для предоставления кода доступа к приложению необходимо использовать другой механизм.

...