You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-3Lines changed: 13 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -304,12 +304,22 @@ After preparing this directory, point to it when running the local proxy with th
304
304
* Consider running the local proxy on separate hosts, containers, sandboxes, chroot jail, or a virtualized environment
305
305
306
306
#### Access tokens
307
-
308
-
* Access tokens are not meant to be re-used.
309
-
* After localproxy uses an access token, it will no longer be valid.
307
+
* After localproxy uses an access token, it will no longer be valid without an accompanying Client Token.
310
308
* You can revoke an existing token and get a new valid token by calling [RotateTunnelAccessToken](https://docs.aws.amazon.com/iot/latest/apireference/API_iot-secure-tunneling_RotateTunnelAccessToken.html).
311
309
* Refer to the [Developer Guide](https://docs.aws.amazon.com/iot/latest/developerguide/iot-secure-tunneling-troubleshooting.html) for troubleshooting connectivity issues that can be due to an invalid token.
312
310
311
+
#### Client Tokens
312
+
* The client token is an added security layer to protect the tunnel by ensuring that only the agent that generated the client token can use a particular access token to connect to a tunnel.
313
+
* Only one client token value may be present in the request. Supplying multiple values will cause the handshake to fail.
314
+
* The client token is optional.
315
+
* The client token must be unique across all the open tunnels per AWS account
316
+
* It's recommended to use a UUID to generate the client token.
317
+
* The client token can be any string that matches the regex `^[a-zA-Z0-9-]{32,128}$`
318
+
* If a client token is provided, then local proxy needs to pass the same client token for subsequent retries (This is yet to be implemented in the current version of local proxy)
319
+
* If a client token is not provided, then the access token will become invalid after a successful handshake, and localproxy won't be able to reconnect using the same access token.
320
+
* The Client Token may be passed using the **-i** argument from the command line or setting the **AWSIOT_TUNNEL_CLIENT_TOKEN** environment variable.
321
+
322
+
313
323
### IPv6 support
314
324
315
325
The local proxy uses IPv4 and IPv6 dynamically based on how addresses are specified directly by the user, or how are they resolved on the system. For example, if 'localhost' resolves to '127.0.0.1' then IPv4 will is being used to connect or as the listening address. If localhost resolves to '::1' then IPv6 will be used.
("proxy-endpoint,e", value<string>(), "Endpoint of proxy server with port (if not default 443). Example: data.tunneling.iot.us-east-1.amazonaws.com:443")
147
153
("region,r", value<string>(), "Endpoint region where tunnel exists. Mutually exclusive flag with --proxy-endpoint")
148
154
("source-listen-port,s", value<string>(), "Sets the mappings between source listening ports and service identifier. Example: SSH1=5555 or 5555")
0 commit comments