本文整理汇总了Python中oic.oic.claims_provider.ClaimsClient类的典型用法代码示例。如果您正苦于以下问题:Python ClaimsClient类的具体用法?Python ClaimsClient怎么用?Python ClaimsClient使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ClaimsClient类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_srv2
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
示例2: test_srv2
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
示例3: test_srv2
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
示例4: test_c2
def test_c2():
cc = ClaimsClient(client_id="client_1")
cc.client_secret = "hemlig"
cc.userclaims_endpoint = "https://example.com/claims"
request = UserClaimsRequest
method = "POST"
request_args = {"sub": "norah", "claims_names": ["gender", "birthdate"]}
cc.request_info(request, method=method, request_args=request_args)
示例5: test_1
def test_1():
cc = ClaimsClient(client_id="client_1")
cc.client_secret="hemlig"
req = cc.construct_UserClaimsRequest(request_args={"user_id": "norah",
"claims_names":["gender", "birthdate"]})
print req
assert req.type() == "UserClaimsRequest"
assert _eq(req.keys(),['client_secret', 'claims_names', 'user_id',
'client_id'])
assert req["user_id"] == "norah"
assert req["client_id"] == "client_1"
示例6: init_claims_clients
def init_claims_clients(self, client_info):
res = {}
if client_info is None:
return res
for cid, specs in client_info.items():
if "dynamic" in specs:
cc = self.dynamic_init_claims_client(cid, specs["client"])
else:
cc = ClaimsClient(client_id=specs["client_id"])
cc.client_secret = specs["client_secret"]
try:
cc.keyjar.add(specs["client_id"], specs["jwks_uri"])
except KeyError:
pass
cc.userclaims_endpoint = specs["userclaims_endpoint"]
res[cid] = cc
return res
示例7: init_claims_clients
def init_claims_clients(client_info):
res = {}
for cid, specs in client_info.items():
if "dynamic" in specs:
cc = dynamic_init_claims_client(cid, args)
else:
cc = ClaimsClient(client_id=specs["client_id"])
cc.client_secret = specs["client_secret"]
try:
cc.keystore.load_x509_cert(specs["x509_url"], "ver", cid)
except KeyError:
pass
try:
cc.keystore.load_jwk(specs["jwk_url"], "ver", cid)
except KeyError:
pass
cc.userclaims_endpoint = specs["userclaims_endpoint"]
res[cid] = cc
return res
示例8: dynamic_init_claims_client
def dynamic_init_claims_client(issuer, req_args):
cc = ClaimsClient()
# dynamic provider info discovery
cc.provider_config(issuer)
resp = cc.do_registration_request(request_args=req_args)
cc.client_id = resp.client_id
cc.client_secret = resp.client_secret
return cc
示例9: init_claims_clients
def init_claims_clients(client_info):
res = {}
for cid, specs in client_info.items():
if "dynamic" in specs:
cc = dynamic_init_claims_client(cid, args)
else:
cc = ClaimsClient(client_id=specs["client_id"])
cc.client_secret=specs["client_secret"]
_req = cc.keystore.crypt.http_request
_s2k = cc.keystore.spec2key
try:
for typ, key in load_x509_cert(_req, specs["x509_url"], _s2k):
cc.keystore.set_verify_key(key, typ, cid)
except KeyError:
pass
try:
for typ, key in load_jwk(_req, specs["jwk_url"], _s2k):
cc.keystore.set_verify_key(key, typ, cid)
except KeyError:
pass
cc.userclaims_endpoint = specs["userclaims_endpoint"]
res[cid] = cc
return res
示例10: verify_client
'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
'COMMAND_MODE': 'unix2003'}
CDB = {
"client_1": { "client_secret": "hemlig"}
}
def verify_client(env, req, cdb):
return True
FUNCTIONS = {
"verify_client": verify_client,
"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)