DependencyTrack / DependencyTrack/dependency-track

Maximum call stack size exceeded during OIDC Login(Azure Entra ID)

Open
#5,098 2 comments 0 reactions 0 assignees View on GitHub
defect in triage
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

![Image](https://github.com/user-attachments/assets/41af0784-8d27-43d9-a159-58fe3723c1cf)

### 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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.