Шлюз приложений Azure приводит к исчезновению сеансов

Шлюз приложений Azure приводит к исчезновению сеансов

У нас есть следующая конфигурация:

  • Веб-приложение контейнера Linux (отдельный экземпляр)
  • Сервер Nodejs с passportjs + openid
  • Поставщик внешней аутентификации (OpenID).

Если к интерфейсу подключаться напрямую (через .azurewebsites.net), аутентификация работает как и ожидалось, и сеансы работают.

Затем мы настроили новый домен, который указывает на шлюз приложения и перенаправляется в веб-приложение. Теперь загружается сам пользовательский интерфейс, однако после входа приложение «забывает», что пользователь вошел в систему.

Если посмотреть на ответные куки-файлы, appSessionто они исчезают сразу после первого перенаправления при входе в систему.

Что можно сделать, чтобы исправить эту проблему? Я видел, что можно включить сродство на основе cookie, но, насколько я понимаю, это имело бы смысл, если бы у меня было несколько экземпляров пользовательского интерфейса?

решение1

Наиболее вероятной причиной является то, что вам необходимо включитьСродство на основе файлов cookie

  1. Войдите на портал Azure.
  2. В левой навигационной панели нажмите Все ресурсы. Нажмите имя шлюза приложений в лезвии Все ресурсы. Если в выбранной вами подписке уже есть несколько ресурсов, вы можете ввести имя шлюза приложений в поле Фильтр по имени…, чтобы легко получить доступ к шлюзу приложений.
  3. Выберите вкладку «Настройки HTTP» в разделе «НАСТРОЙКИ».
  4. Выберите настройку HTTP и на странице «Добавить настройку HTTP» проверьте, включена ли привязка на основе файлов cookie. введите описание изображения здесь

БолееУстранение неполадок, связанных с привязкой сеансов Azure Application Gateway

Надеюсь это поможет!

Связанный контент