1+ from oidcmsg .oauth2 import AccessTokenResponse
2+ from oidcmsg .oauth2 import AuthorizationResponse
3+ from oidcmsg .oauth2 import TokenExchangeResponse
4+ from oidcmsg .oauth2 import TokenIntrospectionResponse
5+ from oidcmsg .oidc import OpenIDSchema
6+
7+
18def pre_construct (response_args , request , endpoint_context , ** kwargs ):
29 """
310 Add extra arguments to the request.
@@ -11,12 +18,25 @@ def pre_construct(response_args, request, endpoint_context, **kwargs):
1118
1219 _extra = endpoint_context .add_on .get ("extra_args" )
1320 if _extra :
14- for arg , _param in _extra .items ():
15- _val = endpoint_context .get (_param )
21+ if isinstance (response_args , AuthorizationResponse ):
22+ _args = _extra .get ("authorization" , {})
23+ elif isinstance (response_args , AccessTokenResponse ):
24+ _args = _extra .get ('accesstoken' , {})
25+ elif isinstance (response_args , TokenExchangeResponse ):
26+ _args = _extra .get ('token_exchange' , {})
27+ elif isinstance (response_args , TokenIntrospectionResponse ):
28+ _args = _extra .get ('token_introspection' , {})
29+ elif isinstance (response_args , OpenIDSchema ):
30+ _args = _extra .get ('userinfo' , {})
31+ else :
32+ _args = {}
33+
34+ for arg , _param in _args .items ():
35+ _val = getattr (endpoint_context , _param )
1636 if _val :
17- request [arg ] = _val
37+ response_args [arg ] = _val
1838
19- return request
39+ return response_args
2040
2141
2242def add_support (endpoint , ** kwargs ):
0 commit comments