示例#1
0
    def test_does_not_remove_padding(self):
        cis = AccessTokenRequest(code="foo", redirect_uri="http://example.com")

        csb = ClientSecretBasic(None)
        http_args = csb.construct(cis, user="******", password="******")

        assert http_args["headers"]["Authorization"].endswith("==")
示例#2
0
    def test_token_endpoint_auth(self):
        state, location = self.cons.begin("openid",
                                          "code",
                                          path="http://localhost:8087")

        resp = self.provider.authorization_endpoint(
            request=urlparse(location).query)

        aresp = self.cons.parse_response(AuthorizationResponse,
                                         resp.message,
                                         sformat="urlencoded")

        # Construct Access token request
        areq = self.cons.construct_AccessTokenRequest(
            redirect_uri="http://example.com/authz",
            client_id="client_1",
            client_secret='abcdefghijklmnop',
            state=state)

        txt = areq.to_urlencoded()
        self.cons.client_secret = 'drickyoughurt'

        csb = ClientSecretBasic(self.cons)
        http_args = csb.construct(areq)

        resp = self.provider.token_endpoint(
            request=txt,
            remote_user="******",
            request_method="POST",
            authn=http_args['headers']['Authorization'])

        atr = TokenErrorResponse().deserialize(resp.message, "json")
        assert atr["token_type"] == 'Bearer'
示例#3
0
    def test_token_endpoint_auth(self):
        state, location = self.cons.begin("openid", "code",
                                          path="http://localhost:8087")

        resp = self.provider.authorization_endpoint(
                request=urlparse(location).query)

        aresp = self.cons.parse_response(AuthorizationResponse, resp.message,
                                         sformat="urlencoded")

        # Construct Access token request
        areq = self.cons.construct_AccessTokenRequest(
                redirect_uri="http://example.com/authz",
                client_id="client_1",
                client_secret='abcdefghijklmnop',
                state=state)

        txt = areq.to_urlencoded()
        self.cons.client_secret='drickyoughurt'

        csb = ClientSecretBasic(self.cons)
        http_args = csb.construct(areq)

        resp = self.provider.token_endpoint(request=txt, remote_user="******",
                                            request_method="POST",
                                            authn=http_args['headers'][
                                                'Authorization'])

        atr = TokenErrorResponse().deserialize(resp.message, "json")
        assert atr["token_type"] == 'Bearer'
示例#4
0
    def test_does_not_remove_padding(self):
        cis = AccessTokenRequest(code="foo", redirect_uri="http://example.com")

        csb = ClientSecretBasic(None)
        http_args = csb.construct(cis, user="******", password="******")

        assert http_args["headers"]["Authorization"].endswith("==")
示例#5
0
    def test_construct(self, client):
        cis = AccessTokenRequest(code="foo", redirect_uri="http://example.com")

        csb = ClientSecretBasic(client)
        http_args = csb.construct(cis)
        cred = '{}:{}'.format(quote_plus("A"), quote_plus("boarding pass"))
        assert http_args == {"headers": {"Authorization": "Basic {}".format(
            base64.b64encode(cred.encode("utf-8")).decode("utf-8"))}}
示例#6
0
    def test_construct(self, client):
        cis = AccessTokenRequest(code="foo", redirect_uri="http://example.com")

        csb = ClientSecretBasic(client)
        http_args = csb.construct(cis)
        cred = '{}:{}'.format(quote_plus("A"), quote_plus("boarding pass"))
        assert http_args == {"headers": {"Authorization": "Basic {}".format(
            base64.b64encode(cred.encode("utf-8")).decode("utf-8"))}}
示例#7
0
def test_client_secret_basic():
    client = Client("A")
    client.client_secret = "boarding pass"

    cis = AccessTokenRequest(code="foo", redirect_uri="http://example.com")

    csb = ClientSecretBasic(client)
    http_args = csb.construct(cis)

    assert http_args == {"auth": ("A", "boarding pass")}
示例#8
0
def test_client_secret_basic():
    client = Client("A")
    client.client_secret = "boarding pass"

    cis = AccessTokenRequest(code="foo", redirect_uri="http://example.com")

    csb = ClientSecretBasic(client)
    http_args = csb.construct(cis)

    assert http_args == {"headers": {'Authorization': 'Basic %s'
                                     % base64.b64encode('A:boarding pass')}}
示例#9
0
def test_client_secret_basic():
    client = Client("A")
    client.client_secret = "boarding pass"

    cis = AccessTokenRequest(code="foo", redirect_uri="http://example.com")

    csb = ClientSecretBasic(client)
    http_args = csb.construct(cis)

    assert http_args == {"headers": {'Authorization': 'Basic %s'
                                     % base64.b64encode('A:boarding pass')}}