]> code.communitydata.science - nu-vpn-proxy.git/blobdiff - gp-saml-gui.py
pass along --no-verify flag to WebKit2 GUI (ping #5)
[nu-vpn-proxy.git] / gp-saml-gui.py
index 0bd42485db06ed1161454d3f3f4a7b5daf2b3366..e4298ddd9459db3b393d261b993e7ac1e50b0042 100755 (executable)
@@ -18,7 +18,7 @@ gi.require_version('WebKit2', '4.0')
 from gi.repository import WebKit2
 
 class SAMLLoginView:
-    def __init__(self, uri, html=None, verbose=False, cookies=None):
+    def __init__(self, uri, html=None, verbose=False, cookies=None, verify=True):
         window = Gtk.Window()
 
         # API reference: https://lazka.github.io/pgi-docs/#WebKit2-4.0
@@ -28,6 +28,8 @@ class SAMLLoginView:
         self.verbose = verbose
 
         self.ctx = WebKit2.WebContext.get_default()
+        if not args.verify:
+            self.ctx.set_tls_errors_policy(WebKit2.TLSErrorsPolicy.IGNORE)
         self.cookies = self.ctx.get_cookie_manager()
         if args.cookies:
             self.cookies.set_accept_policy(WebKit2.CookieAcceptPolicy.ALWAYS)
@@ -150,7 +152,7 @@ if __name__ == "__main__":
     # spawn WebKit view to do SAML interactive login
     if args.verbose:
         print("Got SAML %s, opening browser..." % sam, file=stderr)
-    slv = SAMLLoginView(uri, html, verbose=args.verbose, cookies=args.cookies)
+    slv = SAMLLoginView(uri, html, verbose=args.verbose, cookies=args.cookies, verify=args.verify)
     Gtk.main()
     if not slv.success:
         p.error('''Login window closed without producing SAML cookie''')

Community Data Science Collective || Want to submit a patch?