
У нас есть следующая конфигурация:
- Веб-приложение контейнера Linux (отдельный экземпляр)
- Сервер Nodejs с passportjs + openid
- Поставщик внешней аутентификации (OpenID).
Если к интерфейсу подключаться напрямую (через .azurewebsites.net), аутентификация работает как и ожидалось, и сеансы работают.
Затем мы настроили новый домен, который указывает на шлюз приложения и перенаправляется в веб-приложение. Теперь загружается сам пользовательский интерфейс, однако после входа приложение «забывает», что пользователь вошел в систему.
Если посмотреть на ответные куки-файлы, appSession
то они исчезают сразу после первого перенаправления при входе в систему.
Что можно сделать, чтобы исправить эту проблему? Я видел, что можно включить сродство на основе cookie, но, насколько я понимаю, это имело бы смысл, если бы у меня было несколько экземпляров пользовательского интерфейса?
решение1
Наиболее вероятной причиной является то, что вам необходимо включитьСродство на основе файлов cookie
- Войдите на портал Azure.
- В левой навигационной панели нажмите Все ресурсы. Нажмите имя шлюза приложений в лезвии Все ресурсы. Если в выбранной вами подписке уже есть несколько ресурсов, вы можете ввести имя шлюза приложений в поле Фильтр по имени…, чтобы легко получить доступ к шлюзу приложений.
- Выберите вкладку «Настройки HTTP» в разделе «НАСТРОЙКИ».
- Выберите настройку HTTP и на странице «Добавить настройку HTTP» проверьте, включена ли привязка на основе файлов cookie.
БолееУстранение неполадок, связанных с привязкой сеансов Azure Application Gateway
Надеюсь это поможет!