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

Commit bd8439d

Browse files
authored
Merge pull request #31 from nsklikas/minor-fixes
Minor fixes
2 parents 7310304 + ec6ad98 commit bd8439d

3 files changed

Lines changed: 23 additions & 12 deletions

File tree

src/oidcop/oauth2/introspection.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,8 @@ def process_request(self, request=None, release: Optional[list] = None, **kwargs
8686
except UnknownToken:
8787
return {"response_args": _resp}
8888

89-
_token = _context.session_manager.find_token(
90-
_session_info["session_id"], request_token
91-
)
89+
grant = _session_info["grant"]
90+
_token = grant.get_token(request_token)
9291

9392
_info = self._introspect(
9493
_token, _session_info["client_id"], _session_info["grant"]
@@ -106,7 +105,9 @@ def process_request(self, request=None, release: Optional[list] = None, **kwargs
106105
_resp.update(_info)
107106
_resp.weed()
108107

109-
_claims_restriction = _session_info["grant"].claims.get("introspection")
108+
_claims_restriction = grant.claims.get(
109+
"introspection"
110+
)
110111
if _claims_restriction:
111112
user_info = _context.claims_interface.get_user_claims(
112113
_session_info["user_id"], _claims_restriction

src/oidcop/oidc/add_on/pkce.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
from typing import Dict
44

55
from cryptojwt.utils import b64e
6-
from oidcmsg.oauth2 import AuthorizationErrorResponse
6+
from oidcmsg.oauth2 import (
7+
AuthorizationErrorResponse, RefreshAccessTokenRequest, TokenExchangeRequest
8+
)
79
from oidcmsg.oidc import TokenErrorResponse
810

911
from oidcop.endpoint import Endpoint
@@ -84,7 +86,10 @@ def post_token_parse(request, client_id, endpoint_context, **kwargs):
8486
:param token_request:
8587
:return:
8688
"""
87-
if isinstance(request, AuthorizationErrorResponse):
89+
if isinstance(
90+
request,
91+
(AuthorizationErrorResponse, RefreshAccessTokenRequest, TokenExchangeRequest),
92+
):
8893
return request
8994

9095
try:

src/oidcop/oidc/token.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,8 @@ def post_parse_request(
227227
error="invalid_grant", error_description="Unknown code"
228228
)
229229

230-
code = _mngr.find_token(_session_info["session_id"], request["code"])
230+
grant = _session_info["grant"]
231+
code = grant.get_token(request["code"])
231232
if not isinstance(code, AuthorizationCode):
232233
return self.error_cls(
233234
error="invalid_request", error_description="Wrong token type"
@@ -238,7 +239,7 @@ def post_parse_request(
238239
error="invalid_request", error_description="Code inactive"
239240
)
240241

241-
_auth_req = _session_info["grant"].authorization_request
242+
_auth_req = grant.authorization_request
242243

243244
if "client_id" not in request: # Optional for access token request
244245
request["client_id"] = _auth_req["client_id"]
@@ -259,10 +260,12 @@ def process_request(self, req: Union[Message, dict], **kwargs):
259260
)
260261

261262
token_value = req["refresh_token"]
262-
_session_info = _mngr.get_session_info_by_token(token_value, grant=True)
263-
token = _mngr.find_token(_session_info["session_id"], token_value)
263+
_session_info = _mngr.get_session_info_by_token(
264+
token_value, grant=True
265+
)
264266

265267
_grant = _session_info["grant"]
268+
token = _grant.get_token(token_value)
266269
access_token = self._mint_token(
267270
type="access_token",
268271
grant=_grant,
@@ -337,12 +340,14 @@ def post_parse_request(
337340

338341
_mngr = _context.session_manager
339342
try:
340-
_session_info = _mngr.get_session_info_by_token(request["refresh_token"])
343+
_session_info = _mngr.get_session_info_by_token(
344+
request["refresh_token"], grant=True
345+
)
341346
except KeyError:
342347
logger.error("Access Code invalid")
343348
return self.error_cls(error="invalid_grant")
344349

345-
token = _mngr.find_token(_session_info["session_id"], request["refresh_token"])
350+
token = _session_info["grant"].get_token(request["refresh_token"])
346351

347352
if not isinstance(token, RefreshToken):
348353
return self.error_cls(

0 commit comments

Comments
 (0)