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

Commit b5926ef

Browse files
committed
Refactoring
1 parent 6029656 commit b5926ef

1 file changed

Lines changed: 13 additions & 10 deletions

File tree

src/oidcrp/oauth2/utils.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,32 @@ def get_state_parameter(request_args, kwargs):
2525

2626
def pick_redirect_uri(context, request_args=None):
2727
if 'redirect_uri' in request_args:
28-
return request_args, {}
28+
return request_args["redirect_uri"]
29+
30+
if context.callback:
31+
_conf_resp_types = context.behaviour.get('response_types', [])
32+
_response_type = request_args.get('response_type')
33+
if not _response_type and _conf_resp_types:
34+
_response_type = _conf_resp_types[0]
2935

30-
_callback = context.callback
31-
if _callback:
32-
_response_type = request_args.get('response_type', context.behaviour['response_types'][0])
3336
request_args['response_type'] = _response_type
3437

3538
_response_mode = request_args.get('response_mode')
3639

3740
if _response_mode == 'form_post':
38-
request_args['redirect_uri'] = _callback['form_post']
41+
redirect_uri = context.callback['form_post']
3942
elif _response_type == 'code':
40-
request_args['redirect_uri'] = _callback['code']
43+
redirect_uri = context.callback['code']
4144
else:
42-
request_args['redirect_uri'] = _callback['implicit']
45+
redirect_uri = context.callback['implicit']
4346

4447
logger.debug(
4548
f"pick_redirect_uris: response_type={_response_type}, response_mode={_response_mode}, "
46-
f"redirect_uri={request_args['redirect_uri']}")
49+
f"redirect_uri={redirect_uri}")
4750
else:
48-
request_args['redirect_uri'] = context.redirect_uris[0]
51+
redirect_uri = context.redirect_uris[0]
4952

50-
return request_args, {}
53+
return redirect_uri
5154

5255

5356
def pre_construct_pick_redirect_uri(request_args: Optional[Union[Message, dict]] = None,

0 commit comments

Comments
 (0)