def login(self, request: Request, session: LocalProxy): session.clear() acs_hostname = urllib.parse.urlparse(request.host_url).hostname acs_host = f"https://{acs_hostname}" acs_url = urllib.parse.urljoin(acs_host, self.auth_settings.saml_acs_path) args = { "entity_id": self.auth_settings.saml_entity_id, "acs_url": acs_url, } remote_ip = request.headers.get("X-Forwarded-For") if request.method == "GET": args["return_to"] = acs_host self.logger.info( f"Getting SAML redirect URL for {remote_ip} to SAML sign in with args {args}" ) url = uw_saml2.login_redirect(**args) return redirect(url) return self.process_saml_request(request, session, **args)
def log_out(session: LocalProxy): session.clear() return redirect("/")