vadimpronin / guacamole-lite

Node.js library for creating Guacamole-compatible servers. Guacamole is a RDP/VNC/SSH/Telnet client for HTML5 browsers.
Apache License 2.0
250 stars 78 forks source link

How can I create "MySuperSecretKeyForParamsToken12" ? #38

Closed mfarkan closed 3 years ago

mfarkan commented 3 years ago

I could not find this key in the documentation. Where did you guys define this key? In guacd? Should I generate this key in gua server files such as user-mapping.xml or etc? Any ideas?

vadimpronin commented 3 years ago

Just generate your own 32-byte long string

mfarkan commented 3 years ago

Okay but how the server understand this token and decrypt this object? Am I missing something?

vadimpronin commented 3 years ago

You put the same key in both pieces of code: the one that generates the token and the one the verifies. There are examples in PHP and NodeJS how to generate the token and this key is used to encrypt it.

Basically "your system" (into which you want to integrate Guacamole) generates the token in which it encrypts all the connection parameters. Then it feeds this token to the browser and then the browser connects to guacamole-lite server and gives the token to it. The guacamole-lite server then decrypts the token and establishes the connection. Obviously both parts ("your system" and guacamole-lite server) must have the same encryption/decryption key

mfarkan commented 3 years ago

hmm, I see it's actually not integration key for guacd between client. I can use this token(connectionstring) without encryption and sending to guacd for just dummy purposes.