AVPlayer with signed cookie

My company offers lesson video for exercise. The video is applied signed cookie from AWS cloudFront infrastructure. When play video directly in iPhone(iPad), generated cookie is set to options like as below play well.

let asset = AVURLAsset(url: url, options: cookies)

But when try to play via AirPlay2 with other device (smart tv, Apple TV), Video player shows me a can't play. Of course, I implemented resource loader delegate and wrote codes as below

func resourceLoader( 
    _ resourceLoader: AVAssetResourceLoader,   
    shouldWaitForLoadingOfRequestedResource loadingRequest: AVAssetResourceLoadingRequest 
) -> Bool { 
    guard let cookie = viewModel?.cookie else { return false } 
    
    var newRequest =  loadingRequest.request 
    newRequest.headers = HTTPHeaders(cookie) 
    
    let connection = URLSession.shared.dataTask(with: newRequest) { data, response, error in 
    switch data { 
    case let .some(data): 
        loadingRequest.contentInformationRequest?.contentType = (response as! HTTPURLResponse).allHeaderFields["Content-Type"] as? String     
        loadingRequest.contentInformationRequest?.isByteRangeAccessSupported = true 
        loadingRequest.contentInformationRequest?.contentLength = Int64(data.count).     
        loadingRequest.response = response loadingRequest.dataRequest?.respond(with: data)
        loadingRequest.finishLoading()
   case .none: 
        loadingRequest.finishLoading(with: error) 
    }
}

    connection.resume() 
    return true 
}

Some codes have problems? or What can I refer documents for fixing problem?

AVPlayer with signed cookie
 
 
Q