ACME HQDemo work items and pages, made up for Emargen's demo. Not a real company.
Engineering / ENG-1323

After Laravel 13: SAML sign-ins refused with 'Destination mismatch'

Project
Engineering
Type
Bug
Status
Done Done
Priority
Highest
Organization
Parcelwise
Reporter
Marek Nowak <marek.nowak@acme-hq.example>
Assignee
Marek Nowak <marek.nowak@acme-hq.example>
Labels
parcelwisealmwerksingle-sign-on
Components
identity-service
Fix versions
identity-service 2026.04.14
Sprint
Sprint 40
Created
14 Apr 2026, 13:25 UTC
Updated
14 Apr 2026, 15:30 UTC
Resolved
14 Apr 2026, 15:30 UTC

Description

Since this afternoon's deploy, single sign-on at Parcelwise and Almwerk fails in the EU: "Destination mismatch".

Cause: the upgrade took the Laravel 13 skeleton's bootstrap/app.php, and our trustProxies(at: …) line went with it, so behind the load balancer the app thinks requests are plain http://. The assertion consumer address we compare with the response's Destination is then http://… and the IdP sent https://….

Steps to reproduce

  1. Staging behind the load balancer, depot on SAML (Parcelwise test hub).
  2. Sign in through Entra ID.

Expected: signed in. Actual: "Destination mismatch".

Fix

Put the trustProxies line back, and a smoke test that does a real SAML sign-in through the load balancer, not straight to the app.

Linked issues

Comments (3)

Rafael Duarte · 14 Apr 2026, 13:40 UTC

Why didn't the SAML tests catch it?

Marek Nowak · 14 Apr 2026, 13:52 UTC

They run against the app directly, not through the load balancer. Changing that.

Marek Nowak · 14 Apr 2026, 15:30 UTC

Hotfix (#247) out at 16:55. Parcelwise and Almwerk confirmed sign-ins. 112 failed sign-ins between 15:10 and 16:55.