Minimal QtWebEngine-based Web UI to extract the Pulse Connect Secure authentication cookie for use with OpenConnect VPN
Project description
Pulse Cookie
Pulse Cookie is a minimal web GUI that helps you connect to Pulse Connect Secure VPN servers that require Web-based multi-factor authentication (SSO/SAML). This script is intended to be used in conjunction with the OpenConnect VPN CLI client using the --protocol=nc
option.
You might want to use this script if:
- your organization uses the Pulse Connect Secure VPN with multi-factor authentication (MFA) that requires you to enter credentials into a web GUI
- you want to avoid using the official (proprietary) Pulse Connect Secure VPN client application
Usage
- Run the provided script:
get-pulse-cookie [-n <cookie-name>] <server-url>
. - The URL will open in a new Qt WebEngine browser window.
- Log on using your organization's SSO/SAML procedure. This should store the authentication cookie
<cookie-name>
(you need to know this name in advance!) - When the cookie is stored, the Web UI closes and the value of the cookie is printed to
stdout
. - You can then use the value of the cookie to connect to the server using OpenConnect:
sudo openconnect --protocol nc -C <cookie-name>=<cookie-value> <server-url>
Example
If my organization's Pulse Connect Secure VPN server is https://vpn.jh.edu/Linux
and the name of the authentication cookie it stores is DSID
, I can run get-pulse-cookie -n DSID "https://vpn.jh.edu/Linux"
, which will print the cookie to stdout
.
Installation
External dependency
You will need to install Qt WebEngine, which provides the web GUI for the authentication workflow. On Arch Linux, this is provided by the qt6-webengine
package.
This script
This is a standard Python package that can be installed using pip
, perhaps directly from this repository as pip install <url-of-this-repo>
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pulse_cookie-1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d4c602a3f5e250c31469e86d8007fb0367efe459da30c4f536a900fd1c4bce6 |
|
MD5 | 4ebe314e72fa1d1f3edd8e67cfaafc2e |
|
BLAKE2b-256 | 33f75c3bcb7964c0cb731f1a860249ce58969a3f057c7c45bca5e6e951131b19 |