This is PoC to connect to the AWS Client VPN with OSS OpenVPN using SAML authentication. Tested on macOS and Linux, should also work on other POSIX OS with a minor changes.
See my blog post for the implementation details.
P.S. Recently AWS released Linux desktop client, however, it is currently available only for Ubuntu, using Mono and is closed source.
go run server.go
aws-connect.sh
to connect to the AWS.Inspect your ovpn config and remove the following lines if present
auth-user-pass
(we dont want to show user prompt)auth-federate
(propietary AWS keyword)auth-retry interact
(do not retry on failures)remote
and remote-random-hostname
(already handled in CLI and can cause conflicts with it)Better integrate SAML HTTP server with a script or rewrite everything on golang