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"}
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:
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.
Adding
&client_id=OpenCloudIOSto the request solves the pb.