2016-04-04 6 views
2

Привет, я пытаюсь реализовать аудио/видеопоток, защищенный auth, в угловом приложении через REST api. Цель состоит в том, чтобы защитить аудио/видео, чтобы они не были доступны другим пользователям без регистрации. Я попытался одноразового использования маркера так поток выглядит следующим образом:Частное видео через REST api

  • Угловая попросить одного маркера использования после нажатия кнопки воспроизведения POST: file/1/token
  • Угловая получить маркер и вставить маркер в URL ?token=...
  • запрос Потока отправить сервер GET: file/1?token=...
  • сервер проверяет маркер и удаляет его из базы данных
  • Если маркер правый поток начинает

Проблема возникла, когда вы нажимаете на временной шкале, где поток не буферизирован, поэтому браузер автоматически отправляет другой запрос, который, конечно, неавторизован, поскольку токен уже удален.

Я хочу сохранить api без гражданства, но, как вы видите, какое-то состояние вынуждено html-носителями.

Я хотел бы услышать ваши намеки или решения по этой проблеме.

ответ

0

Проблема на данный момент решена. Возможно, это не лучшее решение, но оно охватывает все требования. Мы решили использовать сеанс, который нарушает принципы REST, но просто работает.

Теперь мы получают фишку, как это было раньше POST: file/1/token

Получение файла с обеспеченными лексем GET: file/1?token=...

Разница в том, что в контроллере мы открываем новый PHP сессии, сохранить маркер в сессии и удалить его из базы данных. Теперь мы можем проверить, есть ли токен в базе данных или в сеансе.

Поэтому, если вы отправляете ссылку на других людей, у них нет доступа. Только у вас есть доступ до тех пор, пока токен находится в сеансе PHP.

Смежные вопросы