[ https://issues.apache.org/jira/browse/GUACAMOLE-1955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17853309#comment-17853309 ]
scpcom commented on GUACAMOLE-1955: ----------------------------------- I created an independent extension now: [https://github.com/scpcom/guacamole-client/tree/guacamole-auth-privacyidea-push-totp/extensions/guacamole-auth-privacyidea] The code is based on guacamole-auth-totp and my work above. Currently it provides Push Authentication and TOTP managed and checked by privacyIDEA. Todo: * UI improvements like ** automatically continue the login if the user accepted the push auth ** maybe let the user choose the auth type or allow the admin force a default method via guacamole web if * Add an option to set a privileged privacyIDEA user in guacamole.properties: This would make it possible ** to get a QR code from privacyIDEA and show it to the user on first login. ** to migrate the TOTP keys from guacamole db to privacyIDEA ** Remove the unused totp generator > Auth extension for privacyIDEA push two-factor authentication > ------------------------------------------------------------- > > Key: GUACAMOLE-1955 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-1955 > Project: Guacamole > Issue Type: Wish > Components: guacamole-client > Reporter: scpcom > Priority: Major > > With privacyIDEA you can implement push two-factor authentication on your own > server. > I would like to add this as auth extension for guacamole. > The implementation may be quite simple. Here is a demonstration how it works > with curl. > First the server (guacamole) tells privacyIDEA to ask the user jon.doe to > accept the login on the mobile device: > {code:java} > transaction_id=`curl -k --silent --request POST --data > "realm=defrealm&user=jon.doe&pass=" > https://myprivacyidea.example/validate/check | jq .detail.transaction_id | > cut -d '"' -f 2`{code} > Next the server (guacamole) has to wait until the result of this request is > "ACCEPT" > {code:java} > curl -k --silent --request GET --data "transaction_id=$transaction_id" > https://myprivacyidea.example/validate/polltransaction | jq > .result.authentication{code} > You can find a Java example on the official java-client here: > [https://github.com/privacyidea/java-client/blob/master/src/test/java/org/privacyidea/TestPollTransaction.java] > I tried to modify a copy of extensions/guacamole-auth-duo and > extensions/guacamole-auth-totp to understand how to implement it but did not > have success yet. -- This message was sent by Atlassian Jira (v8.20.10#820010)