DependencyTrack / DependencyTrack/dependency-track
Maximum call stack size exceeded during OIDC Login(Azure Entra ID)
- Dominant language
- Java
- Stars
- 4.2k
- Forks
- 811
- Avg merge
- 9h 4m
- Merged PRs (30d)
- 229
Description
### Current Behavior
We are deploying Dependency Track using Docker Compose as part of a proof of concept. The application is set up so that the frontend is accessible at host:3002 and the API at host:3002/api.
When attempting to log in via OpenID Connect, the frontend console displays the following error:
"Maximum call stack size exceeded."
However, the Docker logs indicate that the login was successful.
The app registration is configured as a Single-page Application (SPA), with the redirect URI configured as host:3002/static/oidc-callback.html
We have set up an nginx reverse proxy with the following server block config:
server {
server_tokens off;
listen 3002 ssl;
server_name host;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_session_cache builtin:1000 shared:SSL:10m;
# ciphers from https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=intermediate&openssl=1.1.1d&guideline=5.4
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
ssl_prefer_server_ciphers off;
client_max_body_size 100M;
gzip on;
gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;
gzip_proxied any;
gzip_min_length 1000;
location / {
proxy_pass http://frontend:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_cookie_domain off;
proxy_cookie_path off;
}
location /api/ {
proxy_pass http://apiserver:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_cookie_domain off;
proxy_cookie_path off;
}
### Steps to Reproduce
1.Setup the reverse proxy
2.Register the application in azure
3.Setup the appreg parameters in docker compose
4.Click login and check the devtools console log

### Expected Behavior
1. Redirect to dashboard
### Dependency-Track Version
4.13.1
### Dependency-Track Distribution
Container Image
### Database Server
PostgreSQL
### Database Server Version
16.2
### Browser
Google Chrome
### Checklist
- [x] I have read and understand the [contributing guidelines](https://github.com/DependencyTrack/dependency-track/blob/master/CONTRIBUTING.md#filing-issues)
- [x] I have checked the [existing issues](https://github.com/DependencyTrack/dependency-track/issues) for whether this defect was already reported
Contributor guide
Research direction
Start by reproducing the OIDC login in Chrome with the reported Docker Compose and nginx reverse-proxy configuration, then inspect the frontend console, Docker logs, and the /static/oidc-callback.html redirect. Done means a successful login redirects to the dashboard without the “Maximum call stack size exceeded” error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, docker-compose, java, nginx, postgresql
- Domain
- authentication, cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100