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
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
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
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
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
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
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"])
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
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
"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