package Ġcom . security . jwt . api . auth čĊč Ċ import Ġcom . security . jwt . api . domain . Account č Ċ import Ġcom . security . jwt . api . service . Account Service č Ċ import Ġorg . springframework . security . oauth 2 . common . Default OAuth 2 AccessToken č Ċ import Ġorg . springframework . security . oauth 2 . common . OAuth 2 AccessToken č Ċ import Ġorg . springframework . security . oauth 2 . provider . OAuth 2 Authentication č Ċ import Ġorg . springframework . security . oauth 2 . provider . token . Token Enh ancer č Ċ import Ġorg . springframework . stereotype . Component čĊč Ċ @ Component č Ċ class ĠAdditional Token Information ( čĊĠĠĠ Ġprivate Ġval Ġaccount Service : ĠAccount Service č Ċ ) Ġ: ĠToken Enh ancer Ġ{ čĊčĊĠ Ġoverride Ġfun Ġenhance ( accessToken : ĠOAuth 2 AccessToken , Ġauthentication : ĠOAuth 2 Authentication ): ĠOAuth 2 AccessToken Ġ{ čĊĠĠĠ Ġval Ġaccount : ĠAccount ? Ġ= Ġaccount Service . find Account By Username ( authentication . name ) čĊĠĠĠ Ġval Ġinfo : ĠMutable Map < String , ĠAny > Ġ= ĠHashMap () čĊčĊĠĠĠ Ġif Ġ( account Ġ!= Ġnull ) Ġ{ čĊĠĠĠĠĠ Ġinfo [" username "] Ġ= Ġaccount . username čĊĠĠĠĠĠ Ġinfo [" name "] Ġ= Ġaccount . name čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ( accessToken Ġas ĠDefault OAuth 2 AccessToken ). additional Information Ġ= Ġinfo čĊĠĠĠ Ġreturn ĠaccessToken čĊĠ Ġ} č Ċ } čĊ