ERR_TOO_MANY_REDIRECTS with Single-Sign-On on Azure Web App

Well, to elaborate a bit more, it actually logins but then it remains on the IDP instead of redirecting to the Service Provider. Right now I’m using a single Tomcat installation to avoid possible network issues (I tried setting the idp both to localhost and to its domain).
So basically, if I go to the service url and I log in, I succesfully log in but in the IDP.
Are multiple instances of Tomcat mandatory, by the way, or the documentation uses them only as an example of possible deployment?

2017_09_15_RD00155DA8CCF2_docker.log (5.6K)

app.log (41.2K)

Hi,

Did you set up your logback.xml config? It is really hard to say something without logs, all the files you’ve shared do not say anything. Also, please check if you can request IDP from SP machine via HTTP and vice-versa, since they use direct server-to-server communication, they use URLs that you set in app.properties

Hi Yuriy,
thank you for keeping up with the problem. I solved succesfully the last issue, this time I simply set the wrong url on the IdpBaseUrl on the service (I was missing idp/ at the end).

In the end, I got it working on Azure Web App. You can see my setup on the (updated) github link:
[url=]https://github.com/K-Rev/docker-cuba[/url]

The only catch is that I had to disable Server Push (“[url=]https://doc.cuba-platform.com/manual-6.6/server_push_settings.html[/url]”). The documentation mentions using it for background task: am I safe if I’m not using background tasks in the app?

Also, I got it working with push enabled with a custom Nginx configuration, but it requires a full virtual machine to be possible.

1 Like

Hi,
I’d recommend that you explicitly enable LONG_POLLING transport for background tasks, since some of the platform mechanisms use them, for instance SuggestionPickerField. Set cuba.web.pushLongPolling = true (in web-app.properties file or local.app.properties in conf/app/) and your application will use simple long polling transport instead of WebSocket connection.

1 Like

I enabled it as an environment variable in the Dockerfile in this particular circumstance