oAuth2 SSO без Cookie
У нас есть собственное приложение для iOS и Android, которое имеет настраиваемую форму входа для аутентификации пользователя напрямую через конечную точку аутентификации провайдера идентификации с поддержкой oAuth2 (приложение отправляет учетные данные пользователя через HTTP-запрос провайдеру идентификации и получает JWT как ответ).
Приложение не имеет возможности открыть браузер с URL-адресом обратного вызова или встроенным в приложение браузером, чтобы напрямую открыть форму входа провайдера идентификации - поэтому нет возможности установить cookie для единого входа. Приложение иногда перенаправляет пользователя на другие службы (в веб-браузере), которые используют того же поставщика удостоверений. До сих пор пользователь вынужден снова вводить свои учетные данные для входа.
Сейчас мы ищем (безопасный) способ реализации единого входа с приложением, без необходимости использования браузера с включенными файлами cookie (для входа в приложение) для входа в приложение.
Решение, о котором мы думали:
- отправка действительного токена доступа провайдеру идентификации вместе с целевым URL-адресом сервиса
- поставщик удостоверений проверяет токен и целевой URL
- поставщик удостоверений аутентифицирует пользователя после успешной проверки и перенаправляет пользователя в службу
Можно ли считать это безопасным решением? Есть ли стандартизированный способ, которым мы не знаем о том, чтобы сделать что-то подобное?