Есть возможность интерактивного входа в систему для вызовов службы управления API? - PullRequest
0 голосов
/ 27 мая 2020

У нас есть серверная служба, которая может возвращать результат json (результат Elasticsearch) или интерактивную веб-страницу браузера (Kibana) на основе маршрута. Эта служба закрывается службой управления API. Наши разработчики должны иметь доступ к веб-странице (Kibana). В настоящее время мы используем сертификат клиента, и в нашем определении API он настроен так, чтобы он требовал этого. При переходе по пути в браузере пользователю предлагается ввести сертификат и устанавливается соединение.

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

Спасибо

1 Ответ

0 голосов
/ 27 мая 2020

Полагаю, вы хотите принудительно использовать аутентификацию на уровне APIM, а не в Kibana. Для этого вам придется обрабатывать два потока:

Начальный поток, когда неаутентифицированный пользователь запрашивает URL-адрес, вы должны проверить постоянную аутентификацию, возможно в заголовке Cook ie, а если не найден - перенаправить пользователя на login.microsoft.com.

Возвратный поток, когда Azure AD перенаправляет пользователя обратно в APIM с токеном, вам нужно будет проверить этот токен и добавить его в заголовок Set-Cook ie, лучше зашифровано.

И, наконец, при любом вызове также проверьте и подтвердите cook ie, чтобы узнать, не истек ли он.

...