Создание общего приложения для входа с использованием FirebaseUI

Я разработал несколько веб-приложений с собственными формами / логикой входа в систему и т. д. Я хотел бы упростить их, создав одно специальное веб-приложение для обработки всей логики входа с использованием FirebaseUI. Как я представляю, это работает, когда пользователю нужно войти в систему с одним из моих приложений, они перенаправляются в мое веб-приложение входа в систему. Пользователь предоставляет свои учетные данные, и в случае успеха приложение входа в систему перенаправляет обратно в исходное приложение с данными, чтобы подтвердить, был ли вход в систему успешным.

Если это возможно, мне не придется повторять логику входа в систему в других моих веб-приложениях, и любые изменения кода входа в систему требуются только в моем приложении входа. Однако я не уверен, возможен ли такой подход или как я могу безопасно и безопасно позволить каждому веб-приложению определять, что пользователь успешно вошел в систему. Может ли кто-нибудь дать совет о том, как реализовать это, или указать примеры, где это уже сделано?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Возможно, вы ищете Единая точка входа.

Google делает нечто подобное. Каждый раз, когда вы входите в систему, вы перенаправляетесь на accounts.google.com, а после этого перенаправляетесь в свое приложение.

Вы правы, говоря, что это сложнее, чем кажется на первый взгляд. Большинство систем входа в Интернет основаны на файлах cookie и на всем их клиент-серверном процессе. Файлы cookie устанавливаются для каждого домена. Если все ваши веб-приложения находятся в одном домене или поддоменах одного домена, вы должны быть в порядке, чтобы использовать этот подход и получить желаемые результаты. В противном случае вам понадобится дополнительная работа, чтобы получить код из разных доменов, чтобы общаться друг с другом и делать все возможное.

В общем, если создание системы входа в систему с нуля считается большой задачей, создание системы единого входа будет на порядок сложнее. OWASP имел о них это сказать в 2011 году.

Спасибо за ответ! Я бы определенно подумал о том, чтобы хранить приложения в одном домене. Моя цель, я полагаю, состоит в том, чтобы уменьшить дублирование кода, которое у меня сейчас есть с несколькими потоками входа. Как вы думаете, большинство разработчиков избегают подхода единого входа, потому что проще просто предоставить каждому приложению собственный логин?

CSharp 09.03.2018 22:19

Я бы сказал, что большинство разработчиков, веб или нет, не пишут систему входа в систему, не говоря уже о системе единого входа. Последний случай довольно редок в общей схеме вещей, и обычно его используют крупные компании. Я бы сказал, что любое дублирование кода, превышающее коэффициент 2-3, потребует использования единого входа.

Horia Coman 09.03.2018 22:39

Другие вопросы по теме