Esempio n. 1
0
    def test_pack_and_unpack(self):
        ss = make_software_statement(self.keyjar, self.issuer,
                                     client_id='ABC 001')

        msg = unpack_software_statement(ss, self.issuer, self.keyjar)
        assert msg
        assert _eq(msg.keys(), ['client_id', 'iat', 'iss', 'exp', 'jti'])
        assert msg['client_id'] == 'ABC 001'
        assert msg['iss'] == self.issuer
Esempio n. 2
0
    def test_client_registration_with_software_statement(self):
        jwks, keyjar, kidd = build_keyjar(KEYS)
        fed_operator = 'https://fedop.example.org'

        self.provider.keyjar[fed_operator] = keyjar['']
        ss = make_software_statement(keyjar, fed_operator, client_id='foxtrot')

        args = {
            "redirect_uris": ["https://client.example.org/callback",
                              "https://client.example.org/callback2"],
            "client_name": "XYZ Service B",
            "token_endpoint_auth_method": "client_secret_basic",
            "scope": "read write dolphin",
            'software_statement': ss
        }
        request = RegistrationRequest(**args)
        resp = self.provider.registration_endpoint(request=request.to_json(),
                                                   environ={})
        cli_resp = ClientInfoResponse().from_json(resp.message)
        assert cli_resp
Esempio n. 3
0
 def test_pack(self):
     ss = make_software_statement(self.keyjar, self.issuer,
                                  client_id='ABC 001')
     assert ss
     assert len(ss.split('.')) == 3