posit-dev / publisher

MIT License
3 stars 0 forks source link

Credential Validation API returns misleading error text for URL only validation #1875

Closed sagerb closed 4 days ago

sagerb commented 5 days ago

I’m getting the wrong error back from the credential check API, for an invalid URL:

curl localhost:9001/api/test-credentials -XPOST -v -d '{"url":"https://rsc.radixu.2.com/"}'
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying [::1]:9001...
* connect to ::1 port 9001 failed: Connection refused
*   Trying 127.0.0.1:9001...
* Connected to localhost (127.0.0.1) port 9001
> POST /api/test-credentials HTTP/1.1
> Host: localhost:9001
> User-Agent: curl/8.4.0
> Accept: */*
> Content-Length: 34
> Content-Type: application/x-www-form-urlencoded
> 
< HTTP/1.1 200 OK
< Content-Type: application/json
< Vary: Origin
< Date: Wed, 26 Jun 2024 16:16:17 GMT
< Content-Length: 144
< 
{"user":null,"error":{"code":"unknown","msg":"could not validate credentials; check server URL and API key or token","operation":"","data":{}}}

Agent log:

$(just executable-path) ui --listen=localhost:9001 -vv
time=2024-06-26T09:59:30.315-07:00 level=INFO msg="Client version" version=1.0.beta1-69-g1455b3f6
time=2024-06-26T09:59:30.315-07:00 level=INFO msg="Development mode" mode=dev
time=2024-06-26T09:59:30.315-07:00 level=INFO msg="Development build" DevelopmentBuild=true
time=2024-06-26T09:59:30.315-07:00 level=INFO msg="Starting PublishUICmd.Run"
time=2024-06-26T09:59:30.315-07:00 level=INFO msg="created event server"
time=2024-06-26T09:59:30.315-07:00 level=INFO msg="created event stream"
time=2024-06-26T09:59:30.315-07:00 level=INFO msg="created SSE logger"
time=2024-06-26T09:59:30.316-07:00 level=INFO msg="created UI service"
time=2024-06-26T09:59:30.318-07:00 level=INFO msg="UI server running" url=http://127.0.0.1:9001/
http://127.0.0.1:9001/
time=2024-06-26T09:59:36.139-07:00 level=INFO msg="Testing authentication" method="Connect API key" url=https://rsc.radixu.2.com/
time=2024-06-26T09:59:36.177-07:00 level=DEBUG msg="API request" method=GET path=/__api__/v1/user body="" response="" error="Get \"https://rsc.radixu.2.com/__api__/v1/user\": dial tcp: lookup rsc.radixu.2.com: no such host"
time=2024-06-26T09:59:36.177-07:00 level=DEBUG msg="Server responded with error" error="Get \"https://rsc.radixu.2.com/__api__/v1/user\": dial tcp: lookup rsc.radixu.2.com: no such host"
time=2024-06-26T09:59:36.177-07:00 level=INFO msg="Access Log" method=POST url=/api/test-credentials elapsed_ms=38 status=200 req_size=34 resp_size=144 client_addr=127.0.0.1:65159