@@ -25,29 +25,32 @@ def get_state_parameter(request_args, kwargs):
2525
2626def 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
5356def pre_construct_pick_redirect_uri (request_args : Optional [Union [Message , dict ]] = None ,
0 commit comments