Установка
Шаг 1 — Настройте Content Security Policy (CSP)
Web SDK использует Web Workers для обеспечения безопасности и производительности. Добавьте следующую конфигурацию в ваш CSP:
<meta
http-equiv="Content-Security-Policy"
content="
script-src 'self' 'unsafe-eval' *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app *.sentry.io;
worker-src 'self' blob:;
child-src 'self' blob:;
style-src 'self' 'unsafe-inline' *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app;
font-src 'self' https://fonts.gstatic.com *.acesso.io *.unico.run *.unico.io *.unico.app;
img-src 'self' data: blob: *.acesso.io *.unico.run *.unico.io *.unico.app;
media-src 'self' data: *.acesso.io *.unico.run *.unico.io *.unico.app;
script-src-elem 'self' 'unsafe-inline' blob: *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app;
connect-src *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app *.sentry.io"
/>
Если ваше приложение использует CSP, эта конфигурац ия обязательна для корректной работы SDK.
'unsafe-eval'(script-src) — требуется движку обнаружения живости для компиляции WebAssembly и динамической оценки своих процедур безопасности во время выполнения.'unsafe-inline'(style-src, script-src-elem) — требуется для встроенных стилей SDK и начальной загрузки встроенных скриптов. Удаление этой директивы нарушает работу интерфейса захвата.*.acesso.io— устаревший домен инфраструктуры Unico, по-прежнему необходимый для ресурсов и вызовов API.*.unico.run/*.unico.io/*.unico.app— текущие сервисные домены Unico (CDN, API и поддомены приложений).*.googleapis.com(script-src, style-src, script-src-elem, connect-src) — необходимо для загрузки таблицы стилей Google Fonts (CSS@font-faceчерезfonts.googleapis.com) и других ресурсов Google API, используемых в интерфейсе захвата.fonts.gstatic.com(font-src) — Предоставляет двои чные файлы шрифтов Google Fonts, на которые ссылается таблица стилей, загружаемая сfonts.googleapis.com.*.sentry.io— Unico использует Sentry для отслеживания ошибок SDK. Требуется вscript-srcиconnect-srcдля разрешения вызовов отчётов об ошибках.blob:(worker-src, child-src, script-src-elem) — требуется, поскольку Web Workers и определённые подресурсы SDK создаются как Blob URL во время выполнения.
Шаг 2 — Установите пакет
Web SDK доступен через пакет npm или CDN.
- npm
- yarn
- CDN
npm install unico-webframe
yarn add unico-webframe
Скачайте SDK и импортируйте его в свой проект:
Шаг 3 — Импортируйте SDK
После установки импортируйте SDK в свой проект.
- Из npm
- Из CDN
import {
UnicoCheckBuilder,
SelfieCameraTypes,
UnicoThemeBuilder,
DocumentCameraTypes,
UnicoConfig,
LocaleTypes
} from 'unico-webframe'
import {
UnicoCheckBuilder,
SelfieCameraTypes,
UnicoThemeBuilder,
DocumentCameraTypes,
UnicoConfig,
LocaleTypes
} from 'UnicoCheckBuilder.min.js'
Шаг 4 — Загрузите дополнительные файлы ресурсов
Для выполнения захвата Liveness необходимы дополнительные файлы ресурсов. Загрузите файл, соответствующий вашей версии SDK, и включите его в проект:
Файлы ресурсов привязаны к версии SDK. При каждом обновлении unico-webframe необходимо повторно скачать соответствующие ресурсы из таблицы ниже — использование несовместимых версий вызывает ошибку времени выполнения при захвате Liveness.
В качестве альтернативы, начиная с SDK 3.18.0, SDK может автоматически загружать эти файлы при инициализации, устраняя необходимость ручной загрузки. Информацию об опции setResourceDirectory см. в разделе Инициализация.
| Версия SDK | Ресурсы FaceTec |
|---|---|
| 3.23.7 | 9.7.114 |
| 3.23.3 → 3.23.6 | 9.7.107 |
| 3.23.0 → 3.23.1 | 9.7.102 |
| 3.22.6 → 3.22.7 | 9.7.100 |
| 3.22.5 | 9.7.99 |
| 3.22.3 → 3.22.4 | 9.7.98 |
| 3.22.2 | 9.7.96 |
| 3.22.1 | 9.7.93 |
| 3.22.0 | 9.7.90 |
| 3.21.3 → 3.21.4 | 9.7.85 |
| 3.21.2 | 9.7.82 |
| 3.21.1 | 9.7.80 |
| 3.20.10 → 3.21.0 | 9.7.76 |
| 3.20.9 | 9.7.75 |
| 3.20.8 | 9.7.73 |
| 3.20.7 | 9.7.68 |
| 3.20.5 → 3.20.6 | 9.7.65 |
| 3.20.3 → 3.20.4 | 9.7.64 |
| 3.20.2 | 9.7.63 |
| 3.20.1 | 9.7.61 |
| 3.20.0 | 9.7.55 |
| 3.19.0 → 3.19.3 | 9.7.45 → 9.7.51 |
| 3.18.x | 9.6.92 → 9.7.41 (см. устаревшую таблицу) |
Также загрузите файлы ИИ для SDK: models.zip.
Все дополнительные файлы должны быть размещены в публичном месте, доступном из браузера в рамках вашего проекта.