Файлы cookie не устанавливаются на iOS с использованием сервера идентификации - PullRequest
0 голосов
/ 26 октября 2018

У меня есть мобильное приложение, использующее поток кода авторизации ODIC. Наша серверная реализация использует Identity Server 4.

Мобильное приложение открывает окно браузера, и я могу в любой момент войти в систему стороннему поставщику, затем оно перенаправляет на /signin-adfs на нашем сервере идентификации, который устанавливает некоторые файлы cookie idsrv.external и возвращает от 302 до /External/Callback. Браузер перенаправляет на /External/Callback, но не отправляет с ним файлы cookie idsrv.external, поэтому Identity Server выдает исключение, поскольку результат из HttpContext.AuthenticateAsync не успешен.

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

Я считаю, что мобильное приложение открывает сеанс Safari для выполнения аутентификации. Является ли это проблемой с файлами cookie, которые не нравятся браузеру (домен, путь, https, безопасный)? или что-то другое? Размер печенья составляет 4 КБ за штуку. Я не уверен, что может быть причиной этой проблемы.

Чтобы сделать вещи еще более странными ... если браузер обновляется (/External/Callback), тогда запрос работает, и приложение для iOS получает код и может выполнить следующий запрос для получения токена.

1 Ответ

0 голосов
/ 31 октября 2018

Копался в источнике IS4 и увидел ссылку на эту проблему на github .Похоже, это было исправлено в источнике, но еще не было выпущено.В выпуске github есть некоторые обходные пути, если они вам нужны раньше, чем выпуск.Проблема специфична для iOS 12.

...