안드로이드 크롬에서 HTML5 Video 재생이 안 되는 문제

개발 중인 사이트에 동영상 플레이어를 붙였는데 개발 모드에서는 잘 되다가 배포하니 안드로이드 크롬에서만 동작하지 않는 문제가 발생했다. 데스크탑 크롬에서는 잘 되었기 때문에 원인을 찾는데 조금 고생을 했는데 원인은 인증과 관련된 문제였다.

개발 모드에서는 인증이 필요 없도록 해 두었지만, 서비스 모드에서는 인증이 필요하기 때문에 생긴 문제로 비디오 데이터 요청이 거부되는 문제였다.

내가 사용하고 있는 인증은 가장 간단한 형태인 Basic access authentication였고 이 방식에서는 데이터를 요청할 때 인증 정보를 Authorization 헤더로 전송해야 한다. 그런데 안드로이드 크롬에서는 이 헤더를 전송하지 않고 있었다.

구글링해 보면 같은 증상을 호소하고 있는 글이 있는데 댓글들을 읽다 보니 과거에는 Authorization 헤더뿐만 아니라 Cookie도 전송하지 않고 있었다는 것을 알게 되었다. 지금은 Cookie 헤더는 전송하고 있지만 Authorization 헤더는 여전히 전송하지 않기 때문에 Basic access authentication은 포기하고 Cookie 기반의 인증을 구현하여 문제를 해결할 수 있었다.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.