Example #1
0
 def request_sign_out(self, session=requests):
     """
     Send a POST request to the ``ServiceTicket``s logout URL to
     request sign-out.
     """
     if logout_allowed(self.service):
         request = SingleSignOutRequest(context={'ticket': self})
         url = get_logout_url(self.service) or self.service
         session.post(url, data={'logoutRequest': request.render_content()})
         logger.info("Single sign-out request sent to %s" % url)
Example #2
0
 def request_sign_out(self, session=requests):
     """
     Send a POST request to the ``ServiceTicket``s logout URL to
     request sign-out.
     """
     if logout_allowed(self.service):
         request = SingleSignOutRequest(context={'ticket': self})
         url = get_logout_url(self.service) or self.service
         session.post(url, data={'logoutRequest': request.render_content()})
         logger.info("Single sign-out request sent to %s" % url)
Example #3
0
 def request_sign_out(self):
     """
     Send a POST request to the ``ServiceTicket``s service URL to
     request sign-out. The remote session is identified by the
     service ticket string that instantiated the session.
     """
     request = SingleSignOutRequest(context={'ticket': self})
     try:
         resp = requests.post(self.service, data={'logoutRequest': request.render_content()})
         resp.raise_for_status()
     except requests.exceptions.RequestException as e:
         logger.warning("Single sign-out request to %s returned %s" %
                        (self.service, e))
     else:
         logger.debug("Single sign-out request sent to %s" % self.service)
Example #4
0
 def request_sign_out(self):
     """
     Send a POST request to the ``ServiceTicket``s logout URL to
     request sign-out.
     """
     if not get_config(self.service, 'LOGOUT_ALLOW'):
         return
     request = SingleSignOutRequest(context={'ticket': self})
     url = get_config(self.service, 'LOGOUT_URL') or self.service
     try:
         resp = requests.post(url, data={'logoutRequest': request.render_content()})
         resp.raise_for_status()
     except requests.exceptions.RequestException as e:
         logger.warning("Single sign-out request to %s returned %s" % (url, e))
     else:
         logger.debug("Single sign-out request sent to %s" % url)
Example #5
0
 def request_sign_out(self):
     """
     Send a POST request to the ``ServiceTicket``s service URL to
     request sign-out. The remote session is identified by the
     service ticket string that instantiated the session.
     """
     request = SingleSignOutRequest(context={'ticket': self})
     try:
         resp = requests.post(
             self.service, data={'logoutRequest': request.render_content()})
         resp.raise_for_status()
     except requests.exceptions.RequestException as e:
         logger.warning("Single sign-out request to %s returned %s" %
                        (self.service, e))
     else:
         logger.debug("Single sign-out request sent to %s" % self.service)
Example #6
0
 def test_sso_request_content_type(self):
     """
     A ``SingleSignOutRequest`` should return headers containing
     the appropriate content type.
     """
     headers = SingleSignOutRequest(context={}).headers()
     self.assertIn('content-type', headers)
     self.assertEqual(headers['content-type'], 'text/xml')
Example #7
0
 def request_sign_out(self):
     """
     Send a POST request to the ``ServiceTicket``s logout URL to
     request sign-out.
     """
     if not logout_allowed(self.service):
         return
     request = SingleSignOutRequest(context={'ticket': self})
     url = get_logout_url(self.service) or self.service
     try:
         resp = requests.post(
             url, data={'logoutRequest': request.render_content()})
         resp.raise_for_status()
     except requests.exceptions.RequestException as e:
         logger.warning("Single sign-out request to %s returned %s" %
                        (url, e))
     else:
         logger.debug("Single sign-out request sent to %s" % url)
 def test_sso_request(self):
     """
     A ``SingleSignOutRequest`` should contain the ticket string
     from the provided context.
     """
     content = SingleSignOutRequest(context={'ticket': self.st}).render_content()
     session_index = parse(content).find('./SessionIndex')
     self.assertIsNotNone(session_index)
     self.assertEqual(session_index.text, self.st.ticket)