def on_authenticate(self, view, request): if request.is_retry(): return False if not self.episode or not self.episode.channel.auth_username: return False chan = self.episode.channel u = urlparse(chan.url) host = u.hostname if u.port: port = u.port elif u.scheme == 'https': port = 443 else: port = 80 logger.debug("on_authenticate(chan=%s:%s req=%s:%s (scheme=%s))", host, port, request.get_host(), request.get_port(), request.get_scheme()) if host == request.get_host() and port == request.get_port() \ and request.get_scheme() == WebKit2.AuthenticationScheme.HTTP_BASIC: persistence = WebKit2.CredentialPersistence.FOR_SESSION request.authenticate( WebKit2.Credential(chan.auth_username, chan.auth_password, persistence)) return True else: return False
def func(web_view: WebKit2.WebView, auth_req: WebKit2.AuthenticationRequest) -> bool: if username is not None: auth_req.authenticate( WebKit2.Credential( username, password, WebKit2.CredentialPersistence.FOR_SESSION)) return True return False