Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проекта✓zorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог
Документация/zorin-authority-sdk-php

zorin-authority-sdk-php — API

Verifier::verify(string $assertion, string $brokerPublicKeyPem, array $expected, ?int $now = null): array
Verifier::verifyWebAuthentication(array $authentication, array $expected, ?int $now = null): array

Первый возвращает проверенный ZAUTH payload; второй — исходный ZWEB authentication object после проверки. Эти методы не меняют application state.

Все шесть ключей обязательны:

КлючЗначение
audДоверенно выбранная аудитория приложения.
originОжидаемый origin, сравнение строки точное.
challengeChallenge сохранённой серверной транзакции.
actionРазрешаемое действие.
resourceКонкретный ресурс действия.
phone_public_key_der_hexЗаранее доверенный SPKI DER телефона в hex.

SDK сравнивает ключ телефона без учёта регистра hex. Он не загружает public key по URL и не выполняет автоматическую доверенную привязку нового телефона.

ZAUTH scope рассчитывается как zauth: плюс SHA-256 канонической UTF-8 строки из ZAUTH/1|REQUEST|aud, origin, challenge, action, resource и jti с NUL-разделителями. Owner proof должен иметь action = authority.authorize, а resource — этот scope.

Broker signature проверяется над точной строкой ZAUTH/1|<исходный payload segment> с SHA-256. Payload не сериализуется заново перед проверкой подписи. Host/phone fingerprints в proof должны совпасть с payload.

Обязательны project_id, origin, challenge, phone_public_key_der_hex. Дополнительно:

  • request_id — если задан, должен совпасть с authentication request ID;
  • require_biometric — default false, требует профиль свежей biometric-аутентификации.

Authentication обязан содержать непустой request ID даже при отсутствии этого optional expected. Для серверной привязки конкретного запроса передавайте expected request_id явно.

ZWEB scope строится из ZWEB/1|REQUEST|project_id, origin, challenge и request ID с NUL-разделителями и префиксом zweb: перед SHA-256. Proof action — web.authenticate.biometric для соответствующего assurance, иначе web.authenticate.

Ожидаются версия ZOWNER/1, action, resource, host/phone fingerprints, phone public key DER hex, nonce, issued/expires Unix timestamps и signature DER hex.

Подписываемая строка начинается с ZTRUST/2|OWNER_PROOF|; action/resource включаются в hex-форме. Проверка использует SHA-256 и зарегистрированный ключ телефона. Proof должен ещё действовать, issued не должен быть более чем на 30 секунд в будущем. В ZAUTH proof не может истечь раньше assertion.

Nonce и jti входят в привязку, но SDK не хранит их историю. За однократное использование отвечает сервер приложения.

Не создаются сессии и пользователи, не проверяется членство/роль, не выполняется привилегированная операция и не подтверждается аппаратная аттестация устройства. Криптографически верный proof — вход для вашей политики авторизации, а не её полная замена.