Я скачал Azure AD с пружинной загрузкой с https://github.com/microsoft/azure-spring-boot. Все хорошо и работает хорошо, пока я запускаю azure-active-directory-spring-boot-sample
, используя
mvn spring-boot:run
, как показано в файле README.
Я пробую просто базовый c реальный сценарий, в котором приложение angular / реагирует работает отдельно на отдельном порту, используя npm. В тот момент, когда я отделил их от основного фильтра AADAuthenticationFilter
, он вызывается только один раз при первом запросе, когда он выполняет проверку токена, и никогда больше для последующих запросов.
Я обошел и настроил прокси nginx так, чтобы домены этих двух теперь были одинаковыми localhost:9999
, и я перенаправляю на основе следующего пути, например web
для npm и app
для весны загрузки. Это позволило куки быть доступны при каждом запросе.
Это помогает, потому что я узнал, что Spring использует куки для поддержки сеанса. Но в идеале фильтр AAD должен проверять токен каждый запрос.
Но если я добавлю свойство azure.activedirectory.session-stateless=true
в мои application.properties, как указано в коде фильтра, чтобы сделать его без сохранения состояния и проверять его при каждом запросе. Он ожидает роли в качестве другого атрибута в AD, а не в качестве группы пользователей.
Я также не понимаю, как получить поведение, когда файлы js
встроены в приложение Spring и запускают все это прекрасно работает, и фильтр вызывается при каждом запросе. Но когда я их разделяю, это просто не работает.
Буду признателен за любую помощь или указатели.