Skip to content
This repository was archived by the owner on Jun 23, 2023. It is now read-only.

Commit 39fa4e8

Browse files
committed
Merge branch 'token' into develop2
2 parents 35c8653 + be43d45 commit 39fa4e8

71 files changed

Lines changed: 1869 additions & 2051 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/oidcop/authz/__init__.py

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ def usage_rules(self, client_id: Optional[str] = ""):
3030
return _usage_rules
3131

3232
try:
33-
_per_client = self.server_get("endpoint_context").cdb[client_id][
34-
"token_usage_rules"
35-
]
33+
_per_client = self.server_get("endpoint_context").cdb[client_id]["token_usage_rules"]
3634
except KeyError:
3735
pass
3836
else:
@@ -59,14 +57,11 @@ def usage_rules_for(self, client_id, token_type):
5957
return {}
6058

6159
def __call__(
62-
self,
63-
session_id: str,
64-
request: Union[dict, Message],
65-
resources: Optional[list] = None,
60+
self, session_id: str, request: Union[dict, Message], resources: Optional[list] = None,
6661
) -> Grant:
67-
session_info = self.server_get(
68-
"endpoint_context"
69-
).session_manager.get_session_info(session_id=session_id, grant=True)
62+
session_info = self.server_get("endpoint_context").session_manager.get_session_info(
63+
session_id=session_id, grant=True
64+
)
7065
grant = session_info["grant"]
7166

7267
args = self.grant_config.copy()
@@ -87,24 +82,19 @@ def __call__(
8782
# After this is where user consent should be handled
8883
scopes = request.get("scope", [])
8984
grant.scope = scopes
90-
grant.claims = self.server_get(
91-
"endpoint_context"
92-
).claims_interface.get_claims_all_usage(session_id=session_id, scopes=scopes)
85+
grant.claims = self.server_get("endpoint_context").claims_interface.get_claims_all_usage(
86+
session_id=session_id, scopes=scopes
87+
)
9388

9489
return grant
9590

9691

9792
class Implicit(AuthzHandling):
9893
def __call__(
99-
self,
100-
session_id: str,
101-
request: Union[dict, Message],
102-
resources: Optional[list] = None,
94+
self, session_id: str, request: Union[dict, Message], resources: Optional[list] = None,
10395
) -> Grant:
10496
args = self.grant_config.copy()
105-
grant = self.server_get("endpoint_context").session_manager.get_grant(
106-
session_id=session_id
107-
)
97+
grant = self.server_get("endpoint_context").session_manager.get_grant(session_id=session_id)
10898
for arg, val in args:
10999
setattr(grant, arg, val)
110100
return grant

src/oidcop/client_authn.py

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,7 @@ def is_usable(self, request=None, authorization_token=None):
131131

132132
def verify(self, request, **kwargs):
133133
if (
134-
self.server_get("endpoint_context").cdb[request["client_id"]][
135-
"client_secret"
136-
]
134+
self.server_get("endpoint_context").cdb[request["client_id"]]["client_secret"]
137135
== request["client_secret"]
138136
):
139137
return {"client_id": request["client_id"]}
@@ -148,9 +146,7 @@ class BearerHeader(ClientSecretBasic):
148146
tag = "bearer_header"
149147

150148
def is_usable(self, request=None, authorization_token=None):
151-
if authorization_token is not None and authorization_token.startswith(
152-
"Bearer "
153-
):
149+
if authorization_token is not None and authorization_token.startswith("Bearer "):
154150
return True
155151
return False
156152

@@ -203,9 +199,7 @@ def verify(self, request, key_type, **kwargs):
203199
if _sign_alg and _sign_alg.startswith("HS"):
204200
if key_type == "private_key":
205201
raise AttributeError("Wrong key type")
206-
keys = _context.keyjar.get(
207-
"sig", "oct", ca_jwt["iss"], ca_jwt.jws_header.get("kid")
208-
)
202+
keys = _context.keyjar.get("sig", "oct", ca_jwt["iss"], ca_jwt.jws_header.get("kid"))
209203
_secret = _context.cdb[ca_jwt["iss"]].get("client_secret")
210204
if _secret and keys[0].key != as_bytes(_secret):
211205
raise AttributeError("Oct key used for signing not client_secret")
@@ -361,14 +355,10 @@ def verify_client(
361355
if _method.is_usable(request, authorization_token):
362356
try:
363357
auth_info = _method.verify(
364-
request=request,
365-
authorization_token=authorization_token,
366-
endpoint=endpoint,
358+
request=request, authorization_token=authorization_token, endpoint=endpoint,
367359
)
368360
except Exception as err:
369-
logger.warning(
370-
"Verifying auth using {} failed: {}".format(_method.tag, err)
371-
)
361+
logger.warning("Verifying auth using {} failed: {}".format(_method.tag, err))
372362
else:
373363
if "method" not in auth_info:
374364
auth_info["method"] = _method.tag
@@ -398,19 +388,15 @@ def verify_client(
398388
raise UnknownClient("Unknown Client ID")
399389

400390
if not valid_client_info(_cinfo):
401-
logger.warning(
402-
"Client registration has timed out or " "client secret is expired."
403-
)
391+
logger.warning("Client registration has timed out or " "client secret is expired.")
404392
raise InvalidClient("Not valid client")
405393

406394
# store what authn method was used
407395
if auth_info.get("method"):
408396
_request_type = request.__class__.__name__
409397
_used_authn_method = endpoint_context.cdb[client_id].get("auth_method")
410398
if _used_authn_method:
411-
endpoint_context.cdb[client_id]["auth_method"][
412-
_request_type
413-
] = auth_info["method"]
399+
endpoint_context.cdb[client_id]["auth_method"][_request_type] = auth_info["method"]
414400
else:
415401
endpoint_context.cdb[client_id]["auth_method"] = {
416402
_request_type: auth_info["method"]
@@ -422,9 +408,7 @@ def verify_client(
422408

423409
try:
424410
# get_client_id_from_token is a callback... Do not abuse for code readability.
425-
auth_info["client_id"] = get_client_id_from_token(
426-
endpoint_context, _token, request
427-
)
411+
auth_info["client_id"] = get_client_id_from_token(endpoint_context, _token, request)
428412
except KeyError:
429413
raise ValueError("Unknown token")
430414

0 commit comments

Comments
 (0)