KamoCRM

Свяжите каждую конечную точку WOPI с документом, для которого был отчеканен его токен

FixDocsService
Порезанный
23 сентября 2026 г. в 01:21 UTC
Автор
Kamo
Обещать
168cc8a

CheckFileInfo была единственной конечной точкой WOPI, которая сравнивала токены доступа. документ против пути запроса и перепроверенный прямой доступ; GetFile, PutFile, PutRelativeFile, RenameFile и блокировка/разблокировка/освещение/получение блокировки переопределяются только Проверил подпись и срок действия токена, а затем действовал на все, что показывал imgId. вверх по URL. Токен, отчеканенный POST/api/docs/open/{imgId} для одного документа законно открывшийся член мог читать или переписывать любой другой документ любая организация путем редактирования пути и может заблокировать, разблокировать или исследовать замок; Любой документ таким же образом. Собственный действительный токен получателя только для чтения Также можно перезаписать документ напрямую, минуя флаг UserCanWrite. CheckFileInfo уже велела редактору навязать клиентскую сторону. Каждая конечная точка WOPI теперь требует предмета JWT токена (imgId). Для того, чтобы сравняться с ним по времени, и перепроверка DocumentService.canUserAccess (читай: GetFile, GET LOCK) или canUserWrite (написано: PutFile, PutRelativeFile, RenameFile, LOCK/UNLOCK/) REFRESH LOCK) против базы данных вместо того, чтобы доверять требованиям токена — доступ может быть отменен или истекает после чеканки токена, поэтому живой чек строго сильнее, чем требование статического разрешения. Отказ в проверке подлинности токена байтовые чтения/записи теперь записываются через DocumentAccessAuditor таким же образом. Недействительный токен уже был. Новый тест: WopiControllerAccessTest (11 случаев, охватывающих все перечисленные конечные точки) выше); мутация проверяется путем возврата изменений WopiController локально. Все 11 краснеют, потом восстанавливаются. WopiControllerAuditTest и WopiEditSessionTest Обновлено, чтобы заглушить теперь необходимые проверки доступа, поскольку в их существующих случаях все Допустим, разрешенный звонок.

Все изменения

Как вы видите судоходство?

Все это приходит в ваше рабочее пространство самостоятельно. Начните с бесплатного плана и прочитайте эту страницу через месяц.

Начните бесплатно навсегдаПосмотреть цены