Skip to content

[BUG] dex idp: missing client_id in post params when requesting acces token #52

@aya

Description

@aya

I'm unable to login to opencloud server 6.1 with IOS app version 1.2.1.
Login fails with error: "Authorization failed. (error 3, openid-connect: invalid_client)"
OC is configured to use dex IDP with following clients:

staticClients:
- id: OpenCloudWeb
  name: OpenCloudWeb
  public: true
  redirectURIs:
  - https://cloud.xxxxx.org/
  - https://cloud.xxxxx.org/oidc-callback.html
  - https://cloud.xxxxx.org/oidc-silent-redirect.html

- id: OpenCloudDesktop
  name: OpenCloudDesktop
  public: true

- id: OpenCloudAndroid
  name: OpenCloudAndroid
  public: true
  redirectURIs:
  - 'oc://android.opencloud.eu'

- id: OpenCloudIOS
  name: OpenCloudIOS
  public: true
  redirectURIs:
  - 'oc://ios.opencloud.eu'

OC authentification works well with web and desktop clients. (without role mapping for now, waiting for the new awesome WEBFINGER feature support in desktop app :))

On iOS, the OIDC flow fails on the last step when requesting the access token with a 'POST /token'.
I can reproduce the error replaying the POST with curl.

$ curl -D- -X POST -d "code=xxxx&code_verifier=xxxxxxxx&redirect_uri=oc://ios.opencloud.eu&grant_type=authorization_code" http://localhost:5556/token
HTTP/1.1 401 Unauthorized
Content-Length: 76
Content-Type: application/json
Date: Sat, 09 May 2026 01:34:47 GMT

{"error":"invalid_client","error_description":"Invalid client credentials."}

Adding &client_id=OpenCloudIOS to the request solves the pb.

$ curl -D- -X POST -d "code=xxxx&code_verifier=xxxxxxxx&redirect_uri=oc://ios.opencloud.eu&grant_type=authorization_code&client_id=OpenCloudIOS" http://localhost:5556/token
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Length: 2457
Content-Type: application/json
Pragma: no-cache
Date: Sat, 09 May 2026 01:36:24 GMT

{"access_token":"xxxx.xxxxxxxx.xxxxxxxxx","token_type":"bearer","expires_in":86399,"id_token":"xxxx.xxxxxxxx"}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions