Repository navigation
Conversation
RustDesk 1.5.0 and newer include an apiDomain field in POST /api/oidc/auth. The global ValidationPipe rejects unknown fields, so desktop OIDC login failed with 400. Accept the field as an optional string; it is intentionally not used.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
|
Temporary workaround until this is released, for anyone running Nginx Proxy Manager in front of the console: add the following to the proxy host's Advanced tab. It removes apiDomain from the OIDC auth request before it reaches the backend. |
Since RustDesk 1.5.0 (rustdesk/rustdesk#15710), the desktop client includes an
apiDomainfield inPOST /api/oidc/auth:{"apiDomain":"https://rustdesk.example.com","deviceInfo":{...},"id":"...","op":"Zitadel","uuid":"..."}Because the global
ValidationPipeusesforbidNonWhitelisted, the request is rejected with400 {"message":["property apiDomain should not exist"]}. The client only displays "Bad Request", so third-party login from desktop clients 1.5.0 and newer fails, while web login keeps working.This adds
apiDomainas an optional string toOidcAuthRequestDto. The value is intentionally ignored: redirect URIs continue to be built from the configured site settings, so the client cannot influence them. Unknown fields are still rejected.Tests: new
oidc.dto.spec.tscovers requests with and withoutapiDomain, a non-string value, and other unknown fields.