Вы можете использовать insert
, чтобы указать, где вы хотите использовать новый столбец. В этом случае я использую 0
, чтобы поместить новый столбец слева.
df.insert(0, 'Name', 'abc')
Name Date Open High Low Close
0 abc 01-01-2015 565 600 400 450
Серверы авторизации OpenID Connect предоставляют конечную точку userinfo , которую Сайт A может использовать для получения информации о пользователе, который авторизовал токен доступа (или код авторизации). Чтобы провайдер аутентификации (сайт B) мог это сделать, он должен поддерживать связь между токеном и его пользователем. Таким образом, для этой цели нет файла cookie.
Вы правы относительно потока кода авторизации - токен доступа остается на бэкэнде - нет необходимости отправлять его внешнему интерфейсу / пользователю.
Чтобы иметь возможность связать токены, хранящиеся в бэкэнде SiteA, с последующими запросами от браузера, у вас есть несколько вариантов:
Если вы really
хотите знать, кто является пользователем SiteA, это должен быть пользователь из собственной пользовательской базы данных SiteA. Это имеет смысл, если SiteA является не просто прокси для API SiteB и имеет своих собственных пользователей, разрешения и функциональность.
Чтобы выяснить, кто является пользователем SiteA, вам необходимо сопоставить всех пользователей вашего SiteA с пользователями Auth Server.
Часть 1. Импорт существующих пользователей на Auth Server
Если вы управляете Auth Server, импортируйте всех ваших текущих пользователей в его базу данных пользователей. Каждый из них будет иметь Subject ID (идентификатор на стороне сервера аутентификации). Скопируйте эти идентификаторы обратно соответствующим пользователям в базе данных вашего SiteA: в таблице User вашего SiteA будет новый столбец, например: userid, user_name, user_last_name, user_auth_id
(новый столбец)
, если вы не можете импортировать все ваши пользователи, это становится сложным. Единственный способ, о котором я могу подумать: вам придется дважды регистрировать этих пользователей - один раз в OIDC-провайдере и один раз в SiteA, а затем связать пользователя SiteA с пользователем OIDC.
Часть 2. Сопоставление входящего пользователя с внутренним пользователем в SiteA
В случае успешного ответа от OIDC Server вы получите идентификационный токен. Содержит sub
заявку с ИД субъекта пользователя. Когда вы получите это, вам нужно будет выполнить поиск во внутренней БД и найти соответствующего пользователя SiteA. Если вы не нашли его, создайте нового пользователя в SiteA (если все существующие пользователи были импортированы)
Как только вы узнаете, кто этот пользователь, войдите в систему SiteA, как вы это обычно делаете (дайте им cookie, например).