Example #1
0
def test_srv2():
    cc = ClaimsClient(client_id="client_1")
    cc.client_secret = "hemlig"

    req = cc.construct_UserClaimsRequest(
        request_args={
            "sub": "diana",
            "claims_names": ["gender", "birthdate"]
        })

    srv = ClaimsServer("pyoicserv",
                       SessionDB(),
                       CDB,
                       USERINFO,
                       verify_client,
                       keyjar=KEYJAR,
                       dist_claims_mode=ClaimsMode(USER2MODE))

    srv.keyjar[""] = keybundle_from_local_file("rsa.key", "rsa",
                                               ["ver", "sig"])

    assert srv

    resp = srv.claims_endpoint(req.to_urlencoded(), "")

    print resp.message

    ucr = UserClaimsResponse().deserialize(resp.message, "json")
    ucr.verify(keyjar=srv.keyjar)

    print ucr
    assert _eq(ucr["claims_names"], ["gender", "birthdate"])
    assert "jwt" in ucr
Example #2
0
def test_srv2():
    cc = ClaimsClient(client_id="client_1")
    cc.client_secret = "hemlig"

    req = cc.construct_UserClaimsRequest(
        request_args={"sub": "diana", "claims_names": ["gender", "birthdate"]})

    srv = ClaimsServer("pyoicserv", SessionDB("https://example.com"), CDB,
                       USERINFO, verify_client,
                       keyjar=KEYJAR, dist_claims_mode=ClaimsMode(USER2MODE))

    srv.keyjar[""] = keybundle_from_local_file("%s/rsa.key" % BASE_PATH, "rsa", ["ver", "sig"])

    assert srv

    resp = srv.claims_endpoint(req.to_urlencoded(), "")

    print resp.message

    ucr = UserClaimsResponse().deserialize(resp.message, "json")
    ucr.verify(keyjar=srv.keyjar)

    print ucr
    assert _eq(ucr["claims_names"], ["gender", "birthdate"])
    assert "jwt" in ucr
Example #3
0
def test_srv2():
    cc = ClaimsClient(client_id="client_1")
    cc.client_secret="hemlig"

    req = cc.construct_UserClaimsRequest(request_args={"user_id": "diana",
                                        "claims_names":["gender", "birthdate"]})

    srv = ClaimsServer("name", None, CDB, FUNCTIONS, USERDB)

    srv.keystore.set_sign_key(rsa_load("rsa.key"), "rsa")
    assert srv

    environ = BASE_ENVIRON.copy()
    environ["REQUEST_METHOD"] = "POST"
    txt = req.to_urlencoded()
    environ["CONTENT_LENGTH"] = len(txt)
    fil = StringIO.StringIO(buf=txt)
    environ["wsgi.input"] = fil

    resp = srv.claims_endpoint(environ, start_response, LOG())

    print resp
    assert len(resp) == 1

    ucr = UserClaimsResponse().deserialize(resp[0], "json")
    ucr.verify(key = srv.keystore.get_keys("sig", owner=None))

    print ucr
    assert _eq(ucr["claims_names"], ["gender", "birthdate"])
    assert "jwt" in ucr
Example #4
0
def test_srv2():
    cc = ClaimsClient(client_id="client_1")
    cc.client_secret="hemlig"

    req = cc.construct_UserClaimsRequest(request_args={"sub": "diana",
                                        "claims_names":["gender", "birthdate"]})

    srv = ClaimsServer("name", None, CDB, FUNCTIONS, USERDB)

    srv.keyjar[""] = [KeyBundle(source="file://rsa.key", usage=["ver", "sig"])]
    assert srv

    environ = BASE_ENVIRON.copy()
    environ["REQUEST_METHOD"] = "POST"
    txt = req.to_urlencoded()
    environ["CONTENT_LENGTH"] = len(txt)
    fil = StringIO.StringIO(buf=txt)
    environ["wsgi.input"] = fil

    resp = srv.claims_endpoint(environ, start_response, LOG())

    print resp
    assert len(resp) == 1

    ucr = UserClaimsResponse().deserialize(resp[0], "json")
    ucr.verify(keyjar = srv.keyjar)

    print ucr
    assert _eq(ucr["claims_names"], ["gender", "birthdate"])
    assert "jwt" in ucr
Example #5
0
    def test_init(self):
        info = user_info(None, USERDB, "diana")

        keys = [SYMKey(key="hemlig")]
        cresp = UserClaimsResponse(jwt=info.to_jwt(key=keys, algorithm="HS256"),
                                   claims_names=list(info.keys()))

        assert _eq(list(cresp.keys()), ["jwt", "claims_names"])
        assert _eq(cresp["claims_names"], ['gender', 'birthdate'])
        assert "jwt" in cresp
Example #6
0
    def test_init(self):
        info = user_info(None, USERDB, "diana")

        keys = [SYMKey(key="hemlig")]
        cresp = UserClaimsResponse(jwt=info.to_jwt(key=keys,
                                                   algorithm="HS256"),
                                   claims_names=list(info.keys()))

        assert _eq(list(cresp.keys()), ["jwt", "claims_names"])
        assert _eq(cresp["claims_names"], ['gender', 'birthdate'])
        assert "jwt" in cresp
Example #7
0
def test_srv1():

    info = user_info(None, USERDB, "diana")

    keys = {"hmac": "hemlig"}
    cresp = UserClaimsResponse(jwt=info.to_jwt(key=keys),
                               claims_names=info.keys())

    print cresp
    assert _eq(cresp.keys(), ["jwt", "claims_names"])
    assert _eq(cresp["claims_names"], ['gender', 'birthdate'])
    assert "jwt" in cresp
Example #8
0
def test_srv1():

    info = user_info(None, USERDB, "diana")

    keys = {"hmac": "hemlig"}
    cresp = UserClaimsResponse(jwt=info.to_jwt(key=keys),
                               claims_names=info.keys())

    print cresp
    assert _eq(cresp.keys(), ["jwt", "claims_names"])
    assert _eq(cresp["claims_names"], ['gender', 'birthdate'])
    assert "jwt" in cresp
Example #9
0
    def test_claims_info_endpoint(self):
        self.srv.info_store['access_token'] = {
            'sub': 'some_sub',
            'gender': 'neutral',
            'birthdate': 'someday',
            'claims_names': ['gender', 'birthdate']
        }
        req = UserInfoClaimsRequest(access_token='access_token')
        resp = self.srv.claims_info_endpoint(req.to_urlencoded(), "")

        ucr = UserClaimsResponse().deserialize(resp.message, "json")
        ucr.verify()
        assert _eq(ucr["claims_names"], ["gender", "birthdate"])
    def test_claims_info_endpoint(self):
        self.srv.info_store["access_token"] = {
            "sub": "some_sub",
            "gender": "neutral",
            "birthdate": "someday",
            "claims_names": ["gender", "birthdate"],
        }
        req = UserInfoClaimsRequest(access_token="access_token")
        resp = self.srv.claims_info_endpoint(req.to_urlencoded(), "")

        ucr = UserClaimsResponse().deserialize(resp.message, "json")
        ucr.verify()
        assert _eq(ucr["claims_names"], ["gender", "birthdate"])
Example #11
0
    def test_claims_endpoint(self):
        cc = ClaimsClient(client_id="client_1")
        cc.client_secret = "hemlig"
        req = cc.construct_UserClaimsRequest(
            request_args={"sub": "diana",
                          "claims_names": ["gender", "birthdate"]})

        resp = self.srv.claims_endpoint(req.to_urlencoded(), "")

        ucr = UserClaimsResponse().deserialize(resp.message, "json")
        ucr.verify(keyjar=self.srv.keyjar)

        assert _eq(ucr["claims_names"], ["gender", "birthdate"])
        assert "jwt" in ucr
Example #12
0
    def test_claims_endpoint(self):
        cc = ClaimsClient(client_id="client_1")
        cc.client_secret = "hemlig"
        req = cc.construct_UserClaimsRequest(
            request_args={
                "sub": "diana",
                "claims_names": ["gender", "birthdate"]
            })

        resp = self.srv.claims_endpoint(req.to_urlencoded(), "")

        ucr = UserClaimsResponse().deserialize(resp.message, "json")
        ucr.verify(keyjar=self.srv.keyjar)

        assert _eq(ucr["claims_names"], ["gender", "birthdate"])
        assert "jwt" in ucr
Example #13
0
    "userinfo": user_info
}

cc = ClaimsClient(client_id="client_1")
cc.client_secret="hemlig"

req = cc.construct_UserClaimsRequest(request_args={"user_id": "diana",
                                                   "claims_names":["gender", "birthdate"]})

srv = ClaimsServer("name", None, CDB, FUNCTIONS, USERDB)

srv.keyjar[""] = [KeyChain(source="file://rsa.key", usage=["ver", "sig"])]
assert srv

environ = BASE_ENVIRON.copy()
environ["REQUEST_METHOD"] = "POST"
txt = req.to_urlencoded()
environ["CONTENT_LENGTH"] = len(txt)
fil = StringIO.StringIO(buf=txt)
environ["wsgi.input"] = fil

resp = srv.claims_endpoint(environ, start_response, LOG())

print resp
assert len(resp) == 1

ucr = UserClaimsResponse().deserialize(resp[0], "json")
ucr.verify(keyjar = srv.keyjar)

print ucr