package Ġcom . server . config Ċ Ċ import Ġcom . server . extensions . is Test Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġorg . springframework . core . env . Environment Ċ import Ġorg . springframework . http . HttpMethod Ċ import Ġorg . springframework . security . config . annotation . web . builders . Http Security Ċ import Ġorg . springframework . security . oauth 2 . config . annotation . web . configuration . Enable Resource Server Ċ import Ġorg . springframework . security . oauth 2 . config . annotation . web . configuration . Resource Server Configurer Adapter ĊĊ Ċ @ Configuration Ċ @ Enable Resource Server Ċ class ĠResource Server Config Ġ: ĠResource Server Configurer Adapter () Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġenvironment : ĠEnvironment ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAll Ġresources Ġthat Ġare Ġgenerally Ġopen Ġand Ġdon 't Ġrequire Ġauthentication . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġval Ġopen Resources : ĠArray < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( environment . is Test ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ("/ api / open ", Ġ"/ api / dummy / open ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ("/ api / open ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconfigure ( http : ĠHttp Security ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhttp . request Matchers (). ant Matchers ("/ me "). and () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request Matchers (). ant Matchers ("/ api /** "). and () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. authorize Requests (). ant Matchers (* open Resources ). permit All (). and () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. authorize Requests (). ant Matchers ( HttpMethod . POST , Ġ"/ api / user "). permit All (). and () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. authorize Requests (). any Request (). authenticated (); ĊĠĠĠ Ġ} Ċ }