Текущая интеграция SeedStack не поддерживает настройку перехватчиков на симуляторе. Вместо этого, чтобы выполнить аутентификацию, вы можете указать заголовок в своем интерфейсе Feign с аннотацией @Headers
(пример для аутентификации basi c):
@FeignApi
@Headers({"Authorization: Basic {credentials}"})
public interface neosdServer {
@RequestLine("GET /file/getfilesprop")
List<NeosdFile> getfilesprop(@Param("credentials") String credentials);
@RequestLine("GET /file/getfiles")
List<String> getfiles(@Param("credentials") String credentials);
}
Обратите внимание, что @Headers
также может использоваться на отдельных методы.
Затем вам нужно будет передать учетные данные в качестве параметра метода. Пример реализации с учетными данными, поступающими из конфигурации приложения, может быть следующим:
public class MyClass {
@Configuration("myApp.credentials.user")
private String username;
@Configuration("myApp.credentials.password")
private String password;
@Inject
private NeoSdClient client;
public void myMethod() {
List<String> files = client.getFiles(encodeCredentials());
}
private String encodeCredentials() {
return BaseEncoding
.base64()
.encode((username + ":" + password)
.getBytes(Charsets.UTF_8));
}
}
Я создал проблему в дополнительном репозитории Feign для отслеживания реализации поддержки перехватчиков: https://github.com/seedstack/feign-addon/issues/4.