Я использую iOS AVPlayer для воспроизведения потока HLS. В начале сеанса HLS, когда я получаю URL-адрес index.m3u8 в ответ на создание AVPlayerItem, ответ также устанавливает cookie, который требуется для авторизации на основе сеанса. Скажем, это имя cookie - myCookie, и оно создано для домена ".myhost.com". Теперь все работает нормально, и игрок отправляет myCookie для загрузки кусков ts из xxx.myhost.com/stream. По мере того, как воспроизведение продолжается, плейлист в конечном итоге обновляется, и плеер загружает обновленный список воспроизведения. Иногда обновленный список воспроизведения содержит фрагмент ts для загрузки с URL-адреса с другого хоста. Следовательно, пытаясь сыграть кусок с другим хостом, игрок просит xxx.someotherhost.com загрузить кусок. Это приводит к ответу 302 перенаправления с местоположением: xxx-abc.myhost.com/ads. По-видимому, AVPlayer не отправляет myCookie при запросе части с someotherhost.com, поскольку он не соответствует домену myCookie. Но проблема заключается в перенаправлении на xxx-abc.myhost.com/ads, AVPlayer не отправляет myCookie, хотя домен для URL перенаправления тоже myhost.com, который соответствует домену cookie.
Обратите внимание, что домен URL перенаправления совпадает с доменом исходного потока, а также тем же, что и домен myCookie. Поскольку AVPlayer не отправляет куки файл для загрузки кусков после перенаправления, запросы chs-пакетов терпят неудачу с 403 Запрещенным (No Token)
Я делаю что-то неправильно здесь или это просто похоже на ошибку в AVPlayer iOS?
Есть ли способ исправить эту проблему? Пожалуйста, поделитесь своими мыслями.