Skip to content

fix(bridge): carry the Hub access token from INIT into embed state

SergeyGoodman requested to merge fix/hub-init-access-token into main

Hub кладёт Keycloak-токен в INIT (и переотправляет INIT при каждом refresh), но handleInit его игнорировал — accessToken выставлялся только в handleAuth (протокол aseller.io).

Итог: плагины в hub-режиме жили с accessToken=null и ходили в свои бэкенды без заголовка Authorization. Куки не помогают — iframe кросс-доменный, поэтому бэкенд видел анонима.

Где проявилось: varselec /variation — анонимный запрос не резолвил per-user shop-scope, niche-core проваливался в env-фолбэк на чужой магазин и получал 403 shops.accessDenied → 500.

INIT без accessToken (старый билд Hub) сохраняет прежнее поведение (null).

Тесты: node --test tests/bridge.test.mjs — 30/30, включая два новых на INIT с токеном и без.

Merge request reports