]> www.infradead.org Git - users/dwmw2/openconnect.git/commit
GlobalProtect: query and parse prelogin.esp and use it to build auth forms, including...
authorDaniel Lenski <dlenski@gmail.com>
Sat, 8 Sep 2018 05:22:40 +0000 (22:22 -0700)
committerDaniel Lenski <dlenski@gmail.com>
Sun, 30 Sep 2018 21:56:41 +0000 (14:56 -0700)
commit3e91f7bf7dc0e26307403b47320862050fd0f9a9
tree9560932d1319feab4baa71010e7b4b0a913926c3
parent227526e3da9f0d9f2b47bd84a3e75584d1ae6825
GlobalProtect: query and parse prelogin.esp and use it to build auth forms, including preliminary SAML support

Until recently, I've believed the prelogin.esp to be useless, because the
initial GlobalProtect login form always contains the same two fields:
username and password.

However, the prelogin response is also important for signalling when SAML
login is required.  When the VPN uses SAML login, the official GP clients
redirect the user to a web-based authentication flow (e.g.  Okta,
https://github.com/dlenski/openconnect/issues/116).

That auth flow eventually sends the official client back to the GP VPN,
armed with a special cookie field, `portal-userauthcookie` or
`prelogin-cookie`, that needs to be submitted in place of the password
(already supported by openconnect as of 8b2bc5f22dda).

This preliminary SAML support simply includes the SAML method and URL in the
form banner, and fails with an error message if the cookie field name was
not specified (since it cannot be autodetected).

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
auth-globalprotect.c
gpst.c