Example #1
0
    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)
Example #2
0
 def log_out(session: LocalProxy):
     session.clear()
     return redirect("/")