Trade the gateway token for an edge JWT on every connection
Windows discovery tool / windows (push) Successful in 1m24s
Windows discovery tool / windows (push) Successful in 1m24s
The proxy put its configured gateway_token straight into the upgrade's Authorization header, but the backend only accepts a one-hour edge JWT (scope "edge") there, minted by POST /auth/edge-token from the farm's edge proxy token. Nothing in the proxy ever made that call, so a gateway configured with the token the console hands out could not connect at all, and one given a hand-minted JWT (which is what every test did) would have been locked out an hour later on its first reconnect. Each connection attempt now starts by trading gateway_token for a fresh JWT, at an address derived from the socket URL so there is one to configure. A 401 is reported as what it means (token rotated or wrong), since retrying will not fix it. Config's Debug no longer prints the token. tests/uplink_late_result.rs now plays the cloud's exchange endpoint and asserts the socket opens with the minted JWT, not the configured token. .env.example and continuum.example.toml say what the token is.
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
|
||||
gateway_id = "REPLACE_ME"
|
||||
farm_id = "REPLACE_ME"
|
||||
# The farm's edge proxy token from the console (Setup page). Traded for a
|
||||
# short-lived edge JWT on every connection - see src/uplink/auth.rs.
|
||||
gateway_token = "REPLACE_ME"
|
||||
|
||||
# uplink_url = "wss://api.continuum.local/ws/edge/v1"
|
||||
|
||||
Reference in New Issue
Block a user