Я пытаюсь настроить веб-службу RESTFul с помощью Spring, и я уже настроил OAuth. Поэтому я получил пару страниц, для которых нужен токен пользователя OAuth. Тем не менее, у меня есть несколько страниц, которые предназначены для анонимного доступа, например, для регистрации или забыли пароль.Как защитить URL-адреса только с идентификатором и секретом клиента?
Страницы, такие как www.mywebsite.com/api/doStuff [GET/POST] защищены, требуя действительного токена OAuth, но как я могу защитить такие страницы, как www.mywebsite.com/api/signup [POST], только с ?ID клиента и секрет с заголовком Авторизация: Basic [Base64EncodedString]?
Я не хочу, чтобы эти «незащищенные страницы» были доступны любому, кроме клиента, например, мобильному приложению (iOS/Android).
Вот мой Configure (HttpSecurity) метод в моем классе ResourceServerConfigurerAdapter
public void configure(HttpSecurity http) throws Exception {
http
.requestMatchers().antMatchers("/api/**")
.and()
.authorizeRequests()
.antMatchers("/api/doStuff", "/api/getOtherStuff").access("#oauth2.hasScope('read') and hasRole('ROLE_USER')")
.antMatchers("/api/signup").access("#oauth2.isClient()") // Not working like I thought...
.and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
Спасибо за помощь!