У меня короткий вопрос: я использую identityserver4 с поддержкой нескольких клиентов.Арендатор будет анализироваться с домена - например: tenant1.domain.de, tenant2.domain.de и т. Д.
Если я добавлю поставщика oauth2, например: Github, я могу указать только один URL-адрес обратного вызова или иногдаразрешен только один хостНо я не хочу добавлять новый github / facebook / etc.приложение для каждого арендатора с новым clientID и т. д. Я не хочу управлять для каждого арендатора разными идентификаторами клиентов одного и того же провайдера.
Я хотел бы использовать один идентификатор клиента провайдера (fb, twitter,github, ...) для всех жильцов.Обратный вызов должен обрабатываться одним арендатором (например, identity.domain.de), который я регистрирую у каждого провайдера.
Рабочий процесс должен быть следующим:
- пользователь посещаетприложение
- пользователь будет перенаправлен для входа в tenant1.domain.de и может войти через github, например
- , если пользователь нажимает на github, он должен быть перенаправлен через зарегистрированного арендатора (например:identity.domain.de), который немедленно перенаправляет на github
- , пользователь входит в систему через github, github перенаправляет обратно на identity.domain.de (потому что это единственный разрешенный хост обратного вызова, зарегистрированный в приложении github)
- identity.domain.de перенаправляет на tenant1.domain.de
- tenant1.domain.de перенаправляет в приложение, в которое пользователь вошел через
github в приложении
Пользователь не видит, что он был перенаправлен через identity.domain.de, и связанный сервер идентификации для приложения пользователя / клиента - это tenant1.domain.de, а не identity.domain.de.
identity.domain.de предназначен только для перенаправления, но должен переносить токены / cookie-файлы github и т. Д. В tenant1.domain.de.
Может ли кто-нибудь помочь мне в достижении этой цели?
Я не нашел ничего похожего, потому что сложно найти результаты поиска.
Заранее спасибо!