@@ -387,7 +387,23 @@ def _dump_result(self, view_func, result):
387387 def _parse_session_id (self ):
388388 return self .request ["session" ].split ("/sessions/" )[1 ]
389389
390+ def _set_user_profile (self ):
391+ if self .client_id is None :
392+ return
393+
394+ if self .user .get ("idToken" ) is not None :
395+ from flask_assistant .utils import decode_token
396+
397+ token = self .user ["idToken" ]
398+ profile_payload = decode_token (token , self .client_id )
399+ for k in ["sub" , "iss" , "aud" , "iat" , "exp" ]:
400+ profile_payload .pop (k )
401+
402+ self .profile = profile_payload
390403
404+
405+
406+
391407 def _flask_assitant_view_func (self , nlp_result = None , * args , ** kwargs ):
392408 if nlp_result : # pass API query result directly
393409 self .request = nlp_result
@@ -417,15 +433,7 @@ def _flask_assitant_view_func(self, nlp_result=None, *args, **kwargs):
417433 payload = original_request .get ("payload" )
418434 if payload and payload .get ("user" ):
419435 self .user = original_request ["payload" ]["user" ]
420- if self .user .get ("idToken" ) is not None :
421-
422- from flask_assistant .utils import decode_token
423-
424- token = self .user ["idToken" ]
425- profile_payload = decode_token (token , self .client_id )
426- for k in ["sub" , "iss" , "aud" , "iat" , "exp" ]:
427- profile_payload .pop (k )
428- self .profile = profile_payload
436+ self ._set_user_profile ()
429437
430438 # Get access token from request
431439 if original_request and original_request .get ("user" ):
0 commit comments