У меня есть сценарий подключения стороннего клиентского приложения (мобильное приложение - с секретом клиента) к Identity Server для получения доступа к серверу ресурсов. Во время входа в систему клиентское приложение отображает местоположение нескольких магазинов для входа в систему.
Клиентское приложение имеет уникальный секрет для каждого местоположения магазина и один Client_ID.
Когда конечный пользователь выбирает хранилище для входа в систему - сервер ID получает запрос от клиентского приложения с идентификатором Client_ID и конкретным секретом, соответствующим местоположению хранилища.
Вопрос, который я здесь задаю, заключается в том, как заставить Identity Server (3 или 4) выполнять вход пользователя в систему в зависимости от местоположения магазина.
Я думаю о том, чтобы перехватить Client_Secret, чтобы использовать его во время входа в систему для сопоставления с правильным идентификатором магазина с помощью таблицы поиска.
Это хороший подход для проработки этого сценария, или кто-то может пролить свет на любые возможные предложения, чтобы этот сценарий работал с Identity Server.
Ожидаемый поток:
- Клиентское приложение Отображение местоположения магазина на экране входа в систему
- Пользователь выбирает конкретное местоположение магазина
- Пользователь направляется в конечную точку авторизации Identity Server, и выполняется проверка клиента.
- Дисплеи сервера авторизации - экран входа пользователя в систему
- Сервер авторизации аутентифицирует конечного пользователя в зависимости от местоположения хранилища. (Нужно найти способ добиться этого)