Я знаком и с весной, и с OAuth, что делает эту захватывающую проблему для меня застреванием!
Из того, что я понял, мне нужно создать централизованный сервер авторизации с oauthи откройте ID.
У нас есть центральная база данных пользователей, и мы хотим, чтобы все наши приложения совершали вызов на сервер авторизации, входили в систему, автоматически одобряли (поскольку единственный трафик должен поступать с наших серверов) иперенаправьте их на основе URI, который они передают.
В идеале, мы бы дали им токен авторизации и идентификатор токена (открытый идентификатор), чтобы у них была информация о пользователе, вошедшем в систему.
Итак, яЯ работаю над настройкой загрузочного приложения Spring, где оно действует как сервер авторизации.Пока я вижу страницу входа - но каждая попытка входа заканчивается следующей ошибкой:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Вот что у меня есть для этого сервера:
SpringBootServletInitializer(инициализатор приложения) - com.company
@SpringBootApplication
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
AuthorizationServerConfigurerAdapter (сервер авторизации) - com.company.config
@Configuration
@EnableAuthorizationServer
public class AuthorizationServer extends AuthorizationServerConfigurerAdapter {
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory()
.withClient("my_client")
.secret("my_secret")
.autoApprove(true)
.authorizedGrantTypes("authorization_code", "refresh_token", "password")
.scopes("openid")
.accessTokenValiditySeconds(600);
}
}
WebSecurityConfigurerAdapter(security) - com.company.config
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
@Autowired
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password")
.roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.formLogin()
.and()
.httpBasic().disable()
.anonymous().disable()
.authorizeRequests().anyRequest().authenticated();
// disabled basic auth and configured to use dafault Spring Security form login.
}
}
Итак, вопросы:
- Что это за ошибка и почему я ее вижу?
- Как мне настроить страницу входа, которую я вижу?Я отчаянно просматриваю документацию Spring, и я потерян / поражен.У меня нет ничего в папке ресурсов за пределами имеющегося у меня файла свойств.