package Ġxyz . se ans un . ram but an . filter Ċ Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . security . web . authentication . Abstract Authentication Processing Filter Ċ import Ġorg . springframework . security . web . util . matcher . Ant Path Request Matcher Ċ import Ġxyz . se ans un . ram but an . model . Wx Mp String Token Ċ import Ġxyz . se ans un . ram but an . utils . Servlet Utils Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ Ċ /** Ċ Ġ* Ġcreated Ġby Ġ< a Ġhref =" mailto : 1 1 9 4 4 5 8 4 3 2 @ qq . com " Ġ> Ġ åŃ Ļ çĲ ¦ å¤« Ġ</ a > Ċ Ġ* Ġon Ġ: Ġ 2 0 1 9 - 0 7 - 1 4 Ġ 1 4 : 1 3 Ċ Ġ*/ Ċ abstract Ġclass ĠR um but an Auth Filter Ġ: ĠAbstract Authentication Processing Filter Ġ{ ĊĠĠĠ Ġprotected Ġconstructor ( url Pattern : ĠString ?) Ġ: Ġsuper ( Ant Path Request Matcher ( url Pattern )) ĊĊĠĠĠ Ġprotected Ġconstructor Ġ( url Pattern : ĠString ?, Ġhttp Method : ĠString ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ ĠAnt Path Request Matcher ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Pattern , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhttp Method ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( java Class ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSPR ING _ SECURITY _ PARAM _ CODE _ KEY Ġ= Ġ" code " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSPR ING _ SECURITY _ PARAM _ USER _ ID _ KEY Ġ= Ġ" open Id " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġvar Ġpost Only : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġprotected Ġfun Ġobtain Oauth 2 Code ( request : ĠHttpServletRequest ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . getParameter ( SPR ING _ SECURITY _ PARAM _ CODE _ KEY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġobtain Open Id ( request : ĠHttpServletRequest ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . getParameter ( SPR ING _ SECURITY _ PARAM _ USER _ ID _ KEY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġset Details ( ĊĠĠĠĠĠĠĠ Ġrequest : ĠHttpServletRequest , ĊĠĠĠĠĠĠĠ Ġauth Request : ĠW x Mp String Token ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdetail Ġ= ĠHashMap < String , ĠString ?> () ĊĠĠĠĠĠĠĠ Ġdetail [" X - Real - IP "] Ġ= Ġrequest . getHeader (" X - Real - IP ") ĊĠĠĠĠĠĠĠ Ġdetail [" X - Forwarded - For "] Ġ= Ġrequest . getHeader (" X - Forwarded - For ") ĊĠĠĠĠĠĠĠ Ġdetail [" IP "] Ġ= ĠServlet Utils . get IpAddress ( request ) Ġ?: Ġ" unknown " ĊĠĠĠĠĠĠĠ Ġdetail [" SESSION - ID "] Ġ= Ġrequest . getSession ( false )?. id Ġ?: Ġ" unknown " ĊĊĠĠĠĠĠĠĠ Ġauth Request . details Ġ= Ġdetail ĊĠĠĠ Ġ} Ċ Ċ }