Я всегда использовал смесь домашней выпечки и сторонних пакетов для входа в социальные сети (в частности, Google, Facebook и Twitter). Имея полный контроль, я мог указать метод возврата и затем получить данные ответа от социального провайдера, сопоставить требуемые поля (имя, адрес электронной почты и идентификатор третьей стороны) с моей собственной локальной моделью для создания учетной записи локального пользователя. а затем укажите тип учетной записи (администратор, обычный пользователь и т. д.).
В .net core 2.2 все, кажется, происходит за кулисами, и я не могу понять, как захватывать трафик, когда он возвращается после звонка / me, например, в facebook. Этот скрытый вызов возвращает JSON-ответ, который мое локальное приложение затем сопоставляет с утверждениями, чтобы войти в систему. Это все прекрасно, но я также хочу захватить эти данные и создать учетную запись локального пользователя в моем собственном хранилище данных.
Я вижу, как все это происходит в fiddler, поэтому я знаю, что он все еще выполняет свою работу, я просто не знаю, как подключиться к нему, чтобы извлечь то, что мне нужно на этом этапе во время процесса. Придерживаясь здесь примера с facebook, я подумал, что могу изменить свойство facebookOptions.CallbackPath в моем файле startup.cs, затем добавить этот обратный вызов в качестве принятого обратного вызова в приложении facebook, подключить метод на контроллере, который соответствует этому пути, и получить данные оттуда. Я бы согласился на выполнение остальной части процесса вручную, но все, что он сделал, это переместил закулисную работу, которую ядро .net делает в это «местоположение».
Полагаю, я мог бы просто проверять каждый раз, когда пользователь заходит на страницу сайта, когда он проходит аутентификацию, чтобы узнать, нужно ли мне добавлять или обновлять его локальный сеанс, но это кажется мне чрезмерным гетто. Я хочу сделать это один раз за сеанс, как только они войдут в систему. Я буду первым, кто признает, что мои навыки работы с идентичностью довольно слабые, поэтому, может быть, я что-то там упускаю?
Любые рекомендации или предложения будут с благодарностью.
1011 * ТИА *