Spec-Zone.ru › Web APIs

Разрешения и безопасность WebXR

API WebXR Device API имеет несколько областей безопасности, от установления Политики разрешений до обеспечения того, что пользователь намерен использовать презентацию смешанной реальности перед ее активацией. В частности, необходимо подтвердить доступ к таким функциям устройства, как микрофон и/или камера, получить разрешение на использование интерактивного режима VR (применимо) и так далее. Разнообразие аппаратного и программного обеспечения, вовлеченного в XR, приводит к использованию нескольких API и технологий. В этом руководстве мы рассмотрим, как убедиться, что ваше приложение имеет необходимые разрешения для обеспечения безопасного и частного опыта XR.

API WebXR Device API подвергается целому ряду ограничений по разрешениям и безопасности. Хотя они не являются обременительными, стоит знать о них. В основном они касаются режима сеанса с полным погружением immersive-vr, но есть моменты, о которых следует знать при настройке сеанса AR.

Интерактивная презентация VR

Во-первых, любые запросы на активацию режима immersive-vr отклоняются, если домен, отправляющий запрос, не имеет разрешения на включение интерактивного сеанса. Это разрешение поступает из xr-spatial-tracking Политики разрешений.

После прохождения этой проверки запрос на вход в режим immersive-vr разрешается, если все перечисленное ниже истинно:

  • Вызов requestSession() был инициирован кодом, выполняющимся в обработчике события пользователя, или из кода запуска для приложения, запущенного пользователем web-приложение.
  • Документ считается надёжным, то есть ответственным, активным и фокусированным.
  • Намерение пользователя войти в интерактивный режим VR хорошо понимается; см. Намерение пользователя ниже для получения подробностей.

Если все это верно, обещание, возвращаемое requestSession(), выполняется, и новый объект XRSession передаётся в обработчик выполнения. В противном случае выбрасывается соответствующее исключение, например SecurityError, если у документа нет разрешения на вход в интерактивный режим.

Встраиваемая презентация

При запросе XRSession с режимом, установленным на inline, и если необходимы или запрошены какие-либо функции, браузер позволит создать сеанс только в том случае, если вызов requestSession() был произведен кодом, выполняющимся непосредственно из-за намерения пользователя.

В частности:

  • Если вызов requestSession() не исходит из обработчика, выполняющегося в ответ на событие пользователя, и не производится при запуске веб-приложения, запрос отклоняется, и false передаётся обработчику выполнения обещания.
  • Если документ, отправляющий запрос, не является ответственным за сценарий, запрос отклоняется.
  • Если документ, отправляющий запрос, ненадёжен, запрос отклоняется, и false возвращается через процедуру выполнения обещания. Достоверный документ — это документ, который одновременно ответственен, активен и в фокусе.
  • Если намерение пользователя открыть встроенную презентацию XR не ясно, запрос отклоняется. Понимание намерения пользователя может быть либо неявным, либо явным.

Примечание: Дополнительные требования могут быть введены из-за конкретных функций, запрошенных объектом параметров при вызове requestSession().

Намерение пользователя

Намерение пользователя — это концепция того, выполняется ли действие кодом по желанию пользователя или нет. Существуют два вида намерения пользователя: неявное и явное.

Явное намерение пользователя (явное согласие пользователя) предоставляется, когда пользователя конкретно и прямо попросили разрешить действие.

Неявное намерение пользователя (неявное согласие пользователя) предполагается, если выполняется одно из следующих условий:

  • Пользователь каким-либо образом взаимодействовал с документом, что, в свою очередь, вызвало ваш запрос. Например, если у вас есть кнопка "Войти в режим XR", и пользователь нажимает её, вызов requestSession() из обработчика события click кнопки будет разрешён.
  • Если ваш код выполняется во время запуска веб-приложения, среда выполнения может рассматривать сам факт запуска вашего веб-приложения как намерение пользователя.

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API/Permissions_and_security

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API