POST /_continuwuity/oauth2/client/register returns 200 with empty body #2023
Labels
No labels
Abandoned
Blocked
Bug
Changelog
Added
Changelog
Missing
Changelog
None
Cherry-picking
Database
Dependencies
Dependencies/Renovate
Difficulty
Easy
Difficulty
Hard
Difficulty
Medium
Documentation
Enhancement
Good first issue
Help wanted
Inherited
Matrix/Administration
Matrix/Appservices
Matrix/Auth
Matrix/Client
Matrix/Core
Matrix/E2EE
Matrix/Federation
Matrix/Hydra
Matrix/MSC
Matrix/Media
Matrix/T&S
Merge
Merge/Manual
Merge/Squash
Meta
Meta/CI
Meta/Packaging
Priority
Blocking
Priority
High
Priority
Low
Security
Status
Confirmed
Status
Duplicate
Status
Invalid
Status
Needs Investigation
Support
bob the builder
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
continuwuation/continuwuity#2023
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
POST /_continuwuity/oauth2/client/register returns HTTP 200 but with a
completely empty response body (0 bytes), instead of a JSON object
containing client_id etc. per RFC 7591 / MSC2966.
This causes Element X to fail with:
"client registration failed: failed to deserialize registration
response: EOF while parsing value at line 1 column 0"
Important: this specifically affects Element X's develop branch, which
uses OIDC-based dynamic client registration (MSC2965) during login.
The current stable Element X release (Play Store / F-Droid) does NOT
attempt this flow and works fine against Continuwuity as-is. This bug
is currently "invisible" to most users, but will likely surface once
Element X's stable release adopts the same OIDC-first login flow that
the develop branch already uses.
Reproduction:
curl -s -o /tmp/resp.json -w "%{http_code}\n" -X POST
https:///_continuwuity/oauth2/client/register
-H "Content-Type: application/json"
-d '{"client_name":"test","redirect_uris":["https://element.io/callback"]}'
Result: HTTP 200, response body is 0 bytes (verified with wc -c).
Tested on Continuwuity v26.6.2 (latest release at time of testing).
Note: I've since migrated to Tuwunel for unrelated reasons, so I can't
easily test further iterations of a fix, but wanted to leave this
documented for others hitting the same issue.