Я получаю ошибку 401 даже после выполнения всех настроек. Он говорит: «Для доступа к этому ресурсу требуется полная аутентификация», когда я запрашиваю токен доступа.
Я выполнил настройку oauth, и я использую почтальон, в котором у меня есть пароль, имя пользователя, пароль, grantype. а также идентификатор клиента и секрет.
конфигурация oauth2 ....
@Configuration
public class OAuthserConfig extends WebSecurityConfigurerAdapter implements AuthorizationServerConfigurer
{
@Bean
public AuthenticationManager authenticationManagerBean() throws Exception
{
return super.authenticationManagerBean();
}
@Autowired
AuthenticationManager authenticationManager;
PasswordEncoder passwordencoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
@Override public void configure(AuthorizationServerSecurityConfigurer security) throws Exception
{
// TODO Auto-generated method stub
}
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception
{
clients.inMemory()
.withClient("abc")
.secret(passwordencoder.encode("secret"))
.scopes("READ","WRITE")
.authorizedGrantTypes("password","authorization code");
}
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception
{
endpoints.authenticationManager(authenticationManager);
}
}
конфигурация пользователя ...
@Configuration
public class UserConfig extends GlobalAuthenticationConfigurerAdapter
{
PasswordEncoder passwordencoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception
{
auth.inMemoryAuthentication().withUser("tj")
.password(passwordencoder.encode("tj123"))
.roles("USER","ADMIN","MANAGER")
.authorities("CAN_READ","CAN_WRITE","CAN_DELETE");
}
}