Настройка защищенного REST-приложения Picketlink с использованием токенов доступа.
У меня есть метод настройки (по имени jboss-picketlink-quickstarts):
public class HttpSecurityConfiguration {
public void onInit(@Observes SecurityConfigurationEvent event) {
SecurityConfigurationBuilder builder = event.getBuilder();
builder.identity()
.stateless()
.http()
.forPath("/account/*")
.redirectTo("/authenticate")
.authenticateWith()
.token()
.cors()
.allowAll();
}
}
.redirectTo("/authenticate")
- этодобавлен в поисках обхода (см. ниже).
У меня также есть контрольный пример Арквилиана, который
- Получает карту корневых ресурсов приложения.
- Пытаетсяabd защищенного ресурса получает отклонение.
- Вход в систему с конечной точкой
/authenticate
, которая завершается успешно, и возвращает маркер доступа.
Когда Arquillian пытается получить ранее защищенный ресурсв (1) я получаю загадочный NullPointerException
внутри Picketlink.
14:57:48,653 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /test/api/account: java.lang.NullPointerException
at org.picketlink.http.internal.SecurityFilter.handleException(SecurityFilter.java:260)
at org.picketlink.http.internal.SecurityFilter.doFilter(SecurityFilter.java:198)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
В строке 260
из org.picketlink.http.internal.SecurityFilter.handleException
я нахожу:
private void handleException(PathConfiguration pathConfiguration, HttpServletRequest request, HttpServletResponse response,
Throwable exception) throws IOException {
String redirectUrl = pathConfiguration.getRedirectUrl(exception.getClass()); // <- this is line 260
Throwable cause = exception.getCause();
Это говорит мне, что pathConfiguration
переменная null
.
Что за переменная pathConfiguration
делает `Когда она установлена?Чего-то не хватает в моей настройке http-безопасности?
Все тесты работали нормально, прежде чем я добавил класс выше.
Строка в настройке, которая устанавливает URL-адрес перенаправления, была добавлена послеошибка возникает, когда Picketlink пытается получить URL-адрес перенаправления конфигурации пути.
Я должен добавить:
- Wildfly 12.0.0.Final с
picketlink-impl-2.5.5.SP9.jar
- Java (TM) SE Runtime Environment (сборка 1.8.0_05-b13
Есть идеи?
Cheers Mats