[ 
https://issues.apache.org/jira/browse/GUACAMOLE-1673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philipp Zeitschel updated GUACAMOLE-1673:
-----------------------------------------
    Description: 
Hi,

the extension auth json is available within the official docker container.

But there is no documention how to set the json-secret-key

i tried it like this:
{code:java}
-e JSON_SECRET_KEY={code}
and i can see that it gets loaded:
{code:java}
14:46:05.917 [localhost-startStop-1] INFO  o.a.g.extension.ExtensionModule - 
Extension "Encrypted JSON Authentication" (json) loaded.{code}
but if i try to use it:

 
{code:java}
ironsrv ~ # cat test.json | jq -e
{
  "username": "blub",
  "expires": 16621868260000,
  "connections": {
    "Knecht": {
      "protocol": "rdp",
      "parameters": {
        "domain": "z",
        "drive-path": "/storage",
        "enable-drive": "true",
        "hostname": "192.168.1.1",
        "ignore-cert": "true",
        "password": "xxx",
        "port": "3389",
        "security": "any",
        "server-layout": "de-de-qwertz",
        "username": "xxx"
      }
    }
  }
} {code}
 

 
{code:java}
ironsrv ~ # curl --data-urlencode "data=$(./encrypt-json.sh 
dfdd084deb513283a34f622de9287467 test.json)" https://remote.z.lab/api/tokens | 
jq .{   "message": "Invalid login.",   "translatableMessage": {     "key": 
"APP.TEXT_UNTRANSLATED",     "variables": {       "MESSAGE": "Invalid login."   
  }   },   "statusCode": null,   "expected": [     {       "name": "id_token",  
     "type": "REDIRECT",       "redirectUrl": 
"https://xxxx/realms/z/protocol/openid-connect/auth?scope=openid+email+profile&response_type=id_token&client_id=guacamole&redirect_uri=https%3A%2F%2Fremote.z.lab&nonce=47s3kljajr5v7mrku8luip8mlt";,
       "translatableMessage": {         "key": 
"LOGIN.INFO_IDP_REDIRECT_PENDING",         "variables": null       }     }   ], 
  "type": "INVALID_CREDENTIALS" }  {code}
but i can see that the environmentvariable is correct, because i can find it in 
the generated guacamole.properties
{code:java}
ironsrv ~ # cat 
/var/lib/docker/overlay2/b7bf66c82263776e0c37d597f76eaf7c4e337ae8842b98a7906b1f44aac5fa74/merged/home/guacamole/.guacamole/guacamole.properties
# guacamole.properties - generated Tue Aug 30 04:01:35 PM UTC 2022
guacd-hostname: 172.17.0.4
guacd-port: 4822
mysql-username: root
mysql-password: xxxx
mysql-database: guacamole
mysql-hostname: 172.17.0.5
mysql-port: 3306
openid-authorization-endpoint: https://xxx/realms/z/protocol/openid-connect/auth
openid-jwks-endpoint: https://xxx/realms/z/protocol/openid-connect/certs
openid-issuer: https://xxx/realms/z
openid-client-id: guacamole
openid-redirect-uri: https://remote.z.lab
openid-username-claim-type: preferred_username
json-secret-key: dfdd084deb513283a34f622de928746 {code}
 

seems like it uses the configured openid authorization, thats why i tried to 
start the container only with -e JSON_SECRECT_KEY:
{code:java}
docker run --restart unless-stopped --name guacamole --link guacd:guacd -e 
JSON_SECRET_KEY=dfdd084deb513283a34f622de9287467 -d -p 8888:8080 
guacamole/guacamole{code}
but then i get
{code:java}
FATAL: No authentication configured{code}
 

so i think the startupscript that generates the guacamole.properties just needs 
a little correction, but i can't find the repository where the Docker Container 
is maintained. If it is a simple bash script i could correct it on my own and 
send a PR

regards

 

  was:
Hi,

the extension auth json is available within the official docker container.

But there is no documention how to set the json-secret-key

i tried it like this:
{code:java}
-e JSON_SECRET_KEY={code}
and i can see that it gets loaded:
{code:java}
14:46:05.917 [localhost-startStop-1] INFO  o.a.g.extension.ExtensionModule - 
Extension "Encrypted JSON Authentication" (json) loaded.{code}
but if i try to use it:
{code:java}
ironsrv ~ # curl --data-urlencode "data=$(cat encrypted)" 
https://remote.z.lab/api/tokens | jq .
{
  "message": "Invalid login.",
  "translatableMessage": {
    "key": "APP.TEXT_UNTRANSLATED",
    "variables": {
      "MESSAGE": "Invalid login."
    }
  },
  "statusCode": null,
  "expected": [
    {
      "name": "id_token",
      "type": "REDIRECT",
      "redirectUrl": 
"https://xxxx/realms/z/protocol/openid-connect/auth?scope=openid+email+profile&response_type=id_token&client_id=guacamole&redirect_uri=https%3A%2F%2Fremote.z.lab&nonce=47s3kljajr5v7mrku8luip8mlt";,
      "translatableMessage": {
        "key": "LOGIN.INFO_IDP_REDIRECT_PENDING",
        "variables": null
      }
    }
  ],
  "type": "INVALID_CREDENTIALS"
}
 
{code}
but i can see that the environmentvariable is correct, because i can find it in 
the generated guacamole.properties
{code:java}
ironsrv ~ # cat 
/var/lib/docker/overlay2/b7bf66c82263776e0c37d597f76eaf7c4e337ae8842b98a7906b1f44aac5fa74/merged/home/guacamole/.guacamole/guacamole.properties
# guacamole.properties - generated Tue Aug 30 04:01:35 PM UTC 2022
guacd-hostname: 172.17.0.4
guacd-port: 4822
mysql-username: root
mysql-password: xxxx
mysql-database: guacamole
mysql-hostname: 172.17.0.5
mysql-port: 3306
openid-authorization-endpoint: https://xxx/realms/z/protocol/openid-connect/auth
openid-jwks-endpoint: https://xxx/realms/z/protocol/openid-connect/certs
openid-issuer: https://xxx/realms/z
openid-client-id: guacamole
openid-redirect-uri: https://remote.z.lab
openid-username-claim-type: preferred_username
json-secret-key: dfdd084deb513283a34f622de928746 {code}
 

seems like it uses the configured openid authorization, thats why i tried to 
start the container only with -e JSON_SECRECT_KEY:
{code:java}
docker run --restart unless-stopped --name guacamole --link guacd:guacd -e 
JSON_SECRET_KEY=dfdd084deb513283a34f622de9287467 -d -p 8888:8080 
guacamole/guacamole{code}
but then i get
{code:java}
FATAL: No authentication configured{code}
 

so i think the startupscript that generates the guacamole.properties just needs 
a little correction, but i can't find the repository where the Docker Container 
is maintained. If it is a simple bash script i could correct it on my own and 
send a PR

regards

 


> Docker Documentaion
> -------------------
>
>                 Key: GUACAMOLE-1673
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1673
>             Project: Guacamole
>          Issue Type: Bug
>          Components: guacamole-auth-json
>    Affects Versions: 1.4.0
>            Reporter: Philipp Zeitschel
>            Priority: Major
>
> Hi,
> the extension auth json is available within the official docker container.
> But there is no documention how to set the json-secret-key
> i tried it like this:
> {code:java}
> -e JSON_SECRET_KEY={code}
> and i can see that it gets loaded:
> {code:java}
> 14:46:05.917 [localhost-startStop-1] INFO  o.a.g.extension.ExtensionModule - 
> Extension "Encrypted JSON Authentication" (json) loaded.{code}
> but if i try to use it:
>  
> {code:java}
> ironsrv ~ # cat test.json | jq -e
> {
>   "username": "blub",
>   "expires": 16621868260000,
>   "connections": {
>     "Knecht": {
>       "protocol": "rdp",
>       "parameters": {
>         "domain": "z",
>         "drive-path": "/storage",
>         "enable-drive": "true",
>         "hostname": "192.168.1.1",
>         "ignore-cert": "true",
>         "password": "xxx",
>         "port": "3389",
>         "security": "any",
>         "server-layout": "de-de-qwertz",
>         "username": "xxx"
>       }
>     }
>   }
> } {code}
>  
>  
> {code:java}
> ironsrv ~ # curl --data-urlencode "data=$(./encrypt-json.sh 
> dfdd084deb513283a34f622de9287467 test.json)" https://remote.z.lab/api/tokens 
> | jq .{   "message": "Invalid login.",   "translatableMessage": {     "key": 
> "APP.TEXT_UNTRANSLATED",     "variables": {       "MESSAGE": "Invalid login." 
>     }   },   "statusCode": null,   "expected": [     {       "name": 
> "id_token",       "type": "REDIRECT",       "redirectUrl": 
> "https://xxxx/realms/z/protocol/openid-connect/auth?scope=openid+email+profile&response_type=id_token&client_id=guacamole&redirect_uri=https%3A%2F%2Fremote.z.lab&nonce=47s3kljajr5v7mrku8luip8mlt";,
>        "translatableMessage": {         "key": 
> "LOGIN.INFO_IDP_REDIRECT_PENDING",         "variables": null       }     }   
> ],   "type": "INVALID_CREDENTIALS" }  {code}
> but i can see that the environmentvariable is correct, because i can find it 
> in the generated guacamole.properties
> {code:java}
> ironsrv ~ # cat 
> /var/lib/docker/overlay2/b7bf66c82263776e0c37d597f76eaf7c4e337ae8842b98a7906b1f44aac5fa74/merged/home/guacamole/.guacamole/guacamole.properties
> # guacamole.properties - generated Tue Aug 30 04:01:35 PM UTC 2022
> guacd-hostname: 172.17.0.4
> guacd-port: 4822
> mysql-username: root
> mysql-password: xxxx
> mysql-database: guacamole
> mysql-hostname: 172.17.0.5
> mysql-port: 3306
> openid-authorization-endpoint: 
> https://xxx/realms/z/protocol/openid-connect/auth
> openid-jwks-endpoint: https://xxx/realms/z/protocol/openid-connect/certs
> openid-issuer: https://xxx/realms/z
> openid-client-id: guacamole
> openid-redirect-uri: https://remote.z.lab
> openid-username-claim-type: preferred_username
> json-secret-key: dfdd084deb513283a34f622de928746 {code}
>  
> seems like it uses the configured openid authorization, thats why i tried to 
> start the container only with -e JSON_SECRECT_KEY:
> {code:java}
> docker run --restart unless-stopped --name guacamole --link guacd:guacd -e 
> JSON_SECRET_KEY=dfdd084deb513283a34f622de9287467 -d -p 8888:8080 
> guacamole/guacamole{code}
> but then i get
> {code:java}
> FATAL: No authentication configured{code}
>  
> so i think the startupscript that generates the guacamole.properties just 
> needs a little correction, but i can't find the repository where the Docker 
> Container is maintained. If it is a simple bash script i could correct it on 
> my own and send a PR
> regards
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to