nextcloud / nextcloud/user_oidc

Microsoft Entra OIDC login fails on official Docker image (Debian 13 / libcurl 8.14.1) — cross-reference to nextcloud/docker issue

Open
#1,397 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug discussion
Dominant language
PHP
Stars
181
Forks
60
Avg merge
7h 34m
Merged PRs (30d)
26

Description

Summary

Logging this in user_oidc for discoverability. The user_oidc app correctly constructs and attempts to fetch the Microsoft Entra OIDC discovery URL, but the underlying HTTP client (Guzzle → libcurl) receives HTTP 404 from Microsoft's endpoint when running on the official nextcloud:32 Docker image. The same fetch succeeds via PHP's file_get_contents() from inside the same container, which rules out network configuration and confirms the failure is specific to the libcurl path.

Root cause (as far as we know)

The official nextcloud:31 and nextcloud:32 Docker images are built on php:8.3-apache-trixie (Debian 13 "Trixie" — currently pre-release). libcurl 8.14.1 on Trixie appears to produce a TLS ClientHello that Microsoft's CDN infastructure responds to with HTTP 404, while stable Debian 12 (Bookworm) libcurl builds return HTTP 200 for the same URL.

Related prior issue for context: nextcloud/user_oidc#397 reports a similar top-level error message but was resolved via local access rule changes (allow_local_remote_servers). Current findings indicate a different failure mode.

Full evidence and root cause analysis: nextcloud/docker#2560.

Workaround

Build a custom Nextcloud image using FROM php:8.3-apache-bookworm instead of the Trixie base. Nextcloud version and volumes are unchanged.

Environment

Component Version
Nextcloud 31.0.14.1 / 32.x
Docker image base php:8.3-apache-trixie
libcurl 8.14.1
Identity provider Microsoft Entra ID (Azure AD)
user_oidc v8.7.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the user_oidc OIDC discovery request path and the Guzzle-to-libcurl behavior described in the issue, then review the evidence in nextcloud/docker#2560. Reproduce the Microsoft Entra request on the nextcloud:31/32 Trixie image and the Bookworm-based workaround; done means identifying whether a fix belongs in user_oidc or the Docker image.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, php
Domain
authentication, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.