Skip to content

SAML ACS URL uses internal hostname prowler-api:8080 instead of external domain #9724

@jobigaila

Description

@jobigaila

Issue search

  • I have searched the existing issues and this bug has not been reported yet

Which component is affected?

Prowler UI

Cloud Provider (if applicable)

Not applicable

Steps to Reproduce

Issue Description

When configuring SAML SSO for Prowler behind an nginx reverse proxy, the ACS URL is generated using the
internal hostname http://prowler-api:8080/api/v1/accounts/saml/mydomain.lt/acs/ instead of the external domain
URL.

Environment

  • Prowler version: v5.14.0 (docker)
  • Deployment: Docker Compose with nginx reverse proxy
  • External URL: https://prw.mydomain.lt:8445
  • IdP: Azure AD

Steps to Reproduce

  1. Deploy Prowler using docker-compose behind nginx reverse proxy
  2. Set environment variables:
    • API_BASE_URL=https://prw.mydomain.lt:8445/api/v1
    • AUTH_URL=https://prw.mydomain.lt:8445
    • NEXT_PUBLIC_API_BASE_URL=https://prw.mydomain.lt:8445/api/v1
    • DJANGO_ALLOWED_HOSTS=...,prw.mydomain.lt,...
  3. Create SAML configuration for domain (e.g., mydomain.lt)
  4. ACS URL is generated as: http://prowler-api:8080/api/v1/accounts/saml/mydomain.lt/acs/
  5. Expected ACS URL: https://prw.mydomain.lt:8445/api/v1/accounts/saml/mydomain.lt/acs/

Workarounds Attempted

  • Set API_BASE_URL, AUTH_URL, NEXT_PUBLIC_API_BASE_URL to external URLs
  • Added external domain to DJANGO_ALLOWED_HOSTS
  • Restarted all containers
  • ACS URL still uses internal hostname

Expected behavior

Expected ACS URL: `https://prw.mydomain.lt:8445/api/v1/accounts/saml/mydomain.lt/acs/

Actual Result with Screenshots or Logs

ACS URL still uses internal hostname. when trying to login with SAML SSO

Sign in
Sorry, but we’re having trouble signing you in.

AADSTS50011: The reply URL 'https://prw.mydomain.lt:8445/api/v1/accounts/saml/mydomain.lt/acs/' specified in the request does not match the reply URLs configured for the application 'urn:prowler.com:sp'. Make sure the reply URL sent in the request matches one added to your application in the Azure portal. Navigate to https://aka.ms/urlMismatchError to learn more about how to fix this.

Image

How did you install Prowler?

Cloning the repository from github.com (git clone)

Environment Resource

Docker container localy

OS used

Debian GNU/Linux 12 (bookworm)

Prowler version

v5.14.0

Python version

3.12.10

Pip version

25.3

Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions