Код: Выделить всё
spring.cloud.azure.active-directory.enabled=true
spring.cloud.azure.active-directory.profile.tenant-id=${TENANT_ID_ENV_VAR}
spring.cloud.azure.active-directory.credential.client-id=${CLIENT_ID_ENV_VAR}
spring.cloud.azure.active-directory.credential.client-secret=${CLIENT_SECRET_ENV_VAR}
spring.cloud.azure.active-directory.redirect-uri-template=https://www.custdomain.com/login/oauth2/code/
Код: Выделить всё
@RestController
public class HelloWorldController {
@GetMapping("/")
public String helloWorld() {
return "Greetings! from Webapp";
}
}
В моей локальной среде поток аутентификации работает отлично:
- Запрос к http ://localhost:8080/ перенаправляет на http://localhost:8080/oauth2/authorization/azure.
- Эта конечная точка перенаправляет пользователя в Azure Страница входа в AD: https://login.microsoftonline.com/....
- После успешного входа пользователь перенаправляется обратно на настроенный URI перенаправления.
- Приложение размещается в Службе приложений Azure (ASP).
- Из соображений безопасности в приложении Azure включена частная конечная точка. Сервис, а приложение предоставляется через сервер WAF (брандмауэр веб-приложений).
URL-адрес WAF: https://www.custdomain.com/
URL-адрес внутренней службы приложений: https://webapp0101.azurewebsites.net/
Когда пользователь отправляет запрос на https://www.custdomain.com/< /code>, он пересылается WAF на серверное приложение по адресу https://webapp0101.azurewebsites.net/.
Из-за конфигурации аутентификации на серверной стороне приложение перенаправляет пользователя на:.Код: Выделить всё
https://webapp0101.azurewebsites.net/oauth2/authorization/azure
Поскольку серверная часть теперь является частной и не является общедоступной , пользователь получает ошибку 403 Forbidden.
Желаемый результат
Можно ли настроить приложение на обход промежуточный шаг перенаправления на серверную часть /oauth2/authorization/azure и вместо этого перенаправить пользователя непосредственно на страницу входа в Azure AD (
Код: Выделить всё
https://login.microsoftonline.com/...
Дополнительные примечания
- URI перенаправления, настроенный в Azure AD — это https://www.custdomain.com/login/oauth2/code/.
- Цель состоит в том, чтобы поддерживать эту архитектуру, придерживаясь при этом лучших практик безопасности с частным конечная точка и WAF.
Подробнее здесь: https://stackoverflow.com/questions/792 ... n-a-spring