package Ġcom . hun gry . oauth sample . infrastructure . config Ċ Ċ import Ġcom . auth 0 . jwt . algorithms . Algorithm Ċ import Ġcom . zaxxer . hikari . HikariConfig Ċ import Ġcom . zaxxer . hikari . Hikari DataSource Ċ import Ġinfrastructure . config . Pem Utils Ċ import Ġorg . jetbrains . ex posed . sql . Database Ċ import Ġjava . security . interfaces . RS AP rivate Key Ċ import Ġjava . security . interfaces . RS AP ublic Key Ċ Ċ class ĠApp Config Ġ{ ĊĠĠĠ Ġval Ġsql Config Ġ= ĠSQL Config () ĊĠĠĠ Ġval Ġkeys Config Ġ= ĠRSA Key Config () ĊĊĠĠĠ Ġclass ĠSQL Config Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġconfig Ġ= ĠH ikariConfig (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdriver ClassName Ġ= Ġ" org . h 2 . Driver " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjdbc Url Ġ= Ġ" jdbc : h 2 : mem : test " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠdataSource Ġ= ĠH ikari DataSource ( config ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġconnect () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDatabase . connect ( dataSource ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠRSA Key Config Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO , Ġreally Ġnot Ġlik ing Ġthis , Ġand Ġwill Ġmake Ġsupporting Ġmultiple Ġkeys Ġ( ie Ġrotation ) Ġhard , Ġshould Ġuse Ġkey Ġprovider ĊĠĠĠĠĠĠĠ Ġval ĠpublicKey : ĠRS AP ublic Key Ġ= ĠPem Utils . read PublicKey From Resources File ("/ keys / signing public key . crt ", Ġ" RSA ") Ġas ĠRS AP ublic Key ĊĠĠĠĠĠĠĠ Ġval ĠprivateKey : ĠRS AP rivate Key Ġ= ĠPem Utils . read PrivateKey From Resources File ("/ keys / signing key pkcs 8 . key ", Ġ" RSA ") Ġas ĠRS AP rivate Key ĊĠĠĠĠĠĠĠ Ġval Ġalgorithm : ĠAlgorithm Ġ= ĠAlgorithm . RSA 2 5 6 ( publicKey , ĠprivateKey ) ĊĠĠĠ Ġ} Ċ }