Я хочу предоставить доступ клиенту, который отправляет запросы на мой webhook.
Вот как настроен мой Oauth2:
@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
public static final String CLIENT_ID = "myFirstClient";
@Autowired
private TokenStore tokenStore;
@Autowired
private UserApprovalHandler userApprovalHandler;
@Autowired
@Qualifier("authenticationManagerBean")
private AuthenticationManager authenticationManager;
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory()
.withClient(CLIENT_ID)
.authorizedGrantTypes("client_credentials", "refresh_token", "implicit")
.authorities("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT")
.scopes("read", "write", "trust")
.secret("secret")
.accessTokenValiditySeconds(300).//Access token is only valid for 5 minutes.
refreshTokenValiditySeconds(600);//Refresh token is only valid for 10 minutes.
}
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints.tokenStore(tokenStore).userApprovalHandler(userApprovalHandler)
.authenticationManager(authenticationManager);
}
}
Когда я получаю запросы от определенного домена, мне не нужен токен доступа от них.
Это конечная точка, когда клиент отправляет запросы:
@PostMapping(value = "/verify/webhooks/checks/completed")
public ResponseEntity checkCompleted(@RequestBody String payload) {
}
Ответ 401, так как у клиента нет токена доступа, потому что это сторонний API.