Если вы really
хотите знать, кто является пользователем SiteA, это должен быть пользователь из собственной пользовательской базы данных SiteA. Имеет смысл, если SiteA не просто прокси для API SiteB и имеет своих собственных пользователей, разрешения и функциональность.
Чтобы выяснить, кто является пользователем SiteA, вам необходимо сопоставить всех пользователей вашего SiteA с пользователями Auth Server.
Часть 1. Импорт существующих пользователей на Auth Server
Если вы контролируете Auth Server, импортируйте всех своих текущих пользователей в его базу данных. У каждого из них будет Subject ID (идентификатор на стороне сервера аутентификации). Скопируйте эти идентификаторы обратно соответствующим пользователям в базе данных вашего SiteA: в таблице User вашего SiteA будет новый столбец, например:
ИД пользователя, имя_пользователя, имя_пользователя, user_auth_id
(новый столбец)
Если вы не можете импортировать всех своих пользователей, это усложняется. Единственный способ, о котором я могу подумать: вам придется регистрировать этих пользователей дважды - один раз в OIDC-провайдере и один раз в SiteA, а затем связать пользователя SiteA с пользователем OIDC.
Часть 2. Сопоставление входящего пользователя с внутренним пользователем в SiteA
В случае успешного ответа от OIDC Server вы получите идентификационный токен. Содержит sub
претензию с ИД субъекта пользователя. Когда вы получите это, вам нужно будет выполнить поиск во внутренней БД и найти соответствующего пользователя SiteA. Если вы не нашли его, создайте нового пользователя на SiteA (если все существующие пользователи были импортированы)
Как только вы узнаете, кто пользователь, войдите в систему SiteA, как вы это обычно делаете (например, дайте им cookie).