/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠGood Data ĠCorporation Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . good data . oauth 2 . server . common . jackson Ċ Ċ import Ġcom . fasterxml . jackson . core . Json Parser Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Context Ċ import Ġcom . fasterxml . jackson . databind . Json Deserializer Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġorg . springframework . security . oauth 2 . core . oidc . Id Token Claim Names Ċ import Ġorg . springframework . security . oauth 2 . core . oidc . Oid c Id Token Ċ Ċ /** Ċ Ġ* ĠA Ġ` Json Deserializer ` Ġfor Ġ[ Oid c Id Token ]. Ċ Ġ* Ċ Ġ* Ġ@ see ĠO id c Id Token Ċ Ġ* Ġ@ see ĠO id c Id Token Mixin Ċ Ġ*/ Ċ internal Ġclass ĠO id c Id Token Deserializer Ġ: ĠJson Deserializer < Oid c Id Token >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( parser : ĠJson Parser , Ġcontext : ĠDeserial ization Context ): ĠO id c Id Token Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcodec Ġ= Ġparser . codec ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġcodec . read Tree < JsonNode >( parser ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtoken Value Ġ= Ġnode . find Text Value (" token Value ") ĊĠĠĠĠĠĠĠ Ġreturn ĠO id c Id Token ( token Value , Ġnull , Ġnull , Ġmap Of ( Id Token Claim Names . SUB Ġto Ġnull )) ĊĠĠĠ Ġ} Ċ } Ċ