/* Ċ Ġ* ĠJ ico fo , Ġthe ĠJ its i ĠConference ĠFocus . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ@ Ġ 2 0 1 5 ĠAt lassian ĠP ty ĠLtd Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// 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 Ġorg . j its i . j ico fo . auth Ċ Ċ import Ġorg . j its i . met acon fig . config Ċ import Ġorg . j its i . config . J its i Config . Companion . legacy Config Ċ import Ġorg . j its i . config . J its i Config . Companion . new Config Ċ import Ġorg . j its i . met acon fig . optional config Ċ import Ġjava . time . Duration Ċ Ċ class ĠAuth Config Ġ{ ĊĠĠĠ Ġval Ġenabled : ĠBoolean Ġby Ġconfig Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠEnabled Ġif Ġthe ĠURL Ġis Ġset Ġto Ġanything ĊĠĠĠĠĠĠĠ Ġlegacy Login Url PropertyName . from ( legacy Config ). convert From < String > Ġ{ Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠRead Ġthe Ġlegacy Ġkey Ġfrom Ġnew Config Ġin Ġcase Ġit Ġwas Ġset Ġas Ġa ĠSystem Ġproperty . ĊĠĠĠĠĠĠĠ Ġlegacy Login Url PropertyName . from ( new Config ). convert From < String > Ġ{ Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ" j ico fo . authentication . enabled ". from ( new Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlogin Url : ĠString Ġby Ġconfig Ġ{ ĊĠĠĠĠĠĠĠ Ġlegacy Login Url PropertyName . from ( legacy Config ). convert From < String > Ġ{ Ġit . strip Type () Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠRead Ġthe Ġlegacy Ġkey Ġfrom Ġnew Config Ġin Ġcase Ġit Ġwas Ġset Ġas Ġa ĠSystem Ġproperty . ĊĠĠĠĠĠĠĠ Ġlegacy Login Url PropertyName . from ( new Config ). convert From < String > Ġ{ Ġit . strip Type () Ġ} ĊĠĠĠĠĠĠĠ Ġ" j ico fo . authentication . login - url ". from ( new Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlogout Url : ĠString ? Ġby Ġoptional config Ġ{ ĊĠĠĠĠĠĠĠ Ġlegacy Logout Url PropertyName . from ( legacy Config ) ĊĠĠĠĠĠĠĠ Ġ// ĠRead Ġthe Ġlegacy Ġkey Ġfrom Ġnew Config Ġin Ġcase Ġit Ġwas Ġset Ġas Ġa ĠSystem Ġproperty . ĊĠĠĠĠĠĠĠ Ġlegacy Logout Url PropertyName . from ( new Config ) ĊĠĠĠĠĠĠĠ Ġ" j ico fo . authentication . logout - url ". from ( new Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġauthentication Lifetime : ĠDuration Ġby Ġconfig Ġ{ ĊĠĠĠĠĠĠĠ Ġ" org . j its i . j ico fo . auth . AUTH _ LI F ETIME ". from ( legacy Config ). convert From < Long > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDuration . of Millis ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ" j ico fo . authentication . authentication - lifetime ". from ( new Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġenable Auto Login : ĠBoolean Ġby Ġconfig Ġ{ ĊĠĠĠĠĠĠĠ Ġ" org . j its i . j ico fo . auth . DISABLE _ AUTO LOGIN ". from ( legacy Config ). transformed By Ġ{ Ġ! it Ġ} ĊĠĠĠĠĠĠĠ Ġ" j ico fo . authentication . enable - auto - login ". from ( new Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġtype : ĠType Ġby Ġconfig Ġ{ ĊĠĠĠĠĠĠĠ Ġ" org . j its i . j ico fo . auth . URL ". from ( legacy Config ). convert From < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . startsWith (" X MP P :") Ġ-> ĠType . X MP P ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . startsWith (" EXT _ JWT :") Ġ-> ĠType . JWT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠType . SH IB BO LE TH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ" j ico fo . authentication . type ". from ( new Config ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Auth Config [ enabled =$ enabled , Ġtype =$ type , Ġlogin Url =$ login Url , Ġlogout Url =$ logout Url , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" authentication Lifetime =$ authentication Lifetime , Ġenable Auto Login =$ enable Auto Login ]" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠAuth Config () ĊĊĠĠĠĠĠĠĠ Ġconst Ġval Ġlegacy Login Url PropertyName Ġ= Ġ" org . j its i . j ico fo . auth . URL " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġlegacy Logout Url PropertyName Ġ= Ġ" org . j its i . j ico fo . auth . LOG OUT _ URL " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠType Ġ{ ĊĠĠĠĠĠĠĠ ĠX MP P , ĊĠĠĠĠĠĠĠ ĠJWT , ĊĠĠĠĠĠĠĠ ĠSH IB BO LE TH ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠStrip Ġthe Ġtype Ġencoded Ġin Ġthe Ġlogin ĠURL Ġin Ġlegacy Ġproperties . Ċ Ġ*/ Ċ private Ġfun ĠString . strip Type (): ĠString Ġ= Ġwhen Ġ{ ĊĠĠĠ Ġthis . startsWith (" X MP P :") Ġ-> Ġthis . substring (" X MP P :" . length ) ĊĠĠĠ Ġthis . startsWith (" EXT _ JWT :") Ġ-> Ġthis . substring (" EXT _ JWT :" . length ) ĊĠĠĠ Ġelse Ġ-> Ġthis Ċ } Ċ