Ejemplo n.º 1
0
 def _create_request_token(self, consumer, project_id):
     endpoint = '/OS-OAUTH1/request_token'
     client = oauth1.Client(consumer['key'],
                            client_secret=consumer['secret'],
                            signature_method=oauth1.SIG_HMAC,
                            callback_uri="oob")
     headers = {'requested_project_id': project_id}
     url, headers, body = client.sign(self.base_url + endpoint,
                                      http_method='POST',
                                      headers=headers)
     return endpoint, headers
Ejemplo n.º 2
0
 def _get_oauth_token(self, consumer, token):
     client = oauth1.Client(consumer['key'],
                            client_secret=consumer['secret'],
                            resource_owner_key=token.key,
                            resource_owner_secret=token.secret,
                            signature_method=oauth1.SIG_HMAC)
     endpoint = '/auth/tokens'
     url, headers, body = client.sign(self.base_url + endpoint,
                                      http_method='POST')
     headers.update({'Content-Type': 'application/json'})
     ref = {'auth': {'identity': {'oauth1': {}, 'methods': ['oauth1']}}}
     return endpoint, headers, ref
Ejemplo n.º 3
0
 def _create_access_token(self, consumer, token):
     endpoint = '/OS-OAUTH1/access_token'
     client = oauth1.Client(consumer['key'],
                            client_secret=consumer['secret'],
                            resource_owner_key=token.key,
                            resource_owner_secret=token.secret,
                            signature_method=oauth1.SIG_HMAC,
                            verifier=token.verifier)
     url, headers, body = client.sign(self.base_url + endpoint,
                                      http_method='POST')
     headers.update({'Content-Type': 'application/json'})
     return endpoint, headers
Ejemplo n.º 4
0
    def test_missing_oauth_headers(self):
        endpoint = '/OS-OAUTH1/request_token'
        client = oauth1.Client(uuid.uuid4().hex,
                               client_secret=uuid.uuid4().hex,
                               signature_method=oauth1.SIG_HMAC,
                               callback_uri="oob")
        headers = {'requested_project_id': uuid.uuid4().hex}
        _url, headers, _body = client.sign(self.base_url + endpoint,
                                           http_method='POST',
                                           headers=headers)

        # NOTE(stevemar): To simulate this error, we remove the Authorization
        # header from the post request.
        del headers['Authorization']
        self.post(endpoint, headers=headers,
                  expected_status=http_client.INTERNAL_SERVER_ERROR)