86 final HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
87 final HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
90 final String requestUrl = httpRequest.getRequestURL().toString();
91 log.trace(
"Get request to: '{}'", requestUrl);
94 boolean umaTokenEndpoint = requestUrl.endsWith(
"/uma/token");
95 String authorizationHeader = httpRequest.getHeader(
"Authorization");
97 if (tokenEndpoint || umaTokenEndpoint) {
98 log.debug(
"Starting token endpoint authentication");
101 if (StringUtils.isNotBlank(authorizationHeader) && authorizationHeader.startsWith(
ACCESS_TOKEN_PREFIX)) {
106 if (httpRequest.getParameter(
"client_assertion") != null
107 && httpRequest.getParameter(
"client_assertion_type") != null) {
108 log.debug(
"Starting JWT token endpoint authentication");
110 }
else if (authorizationHeader != null && authorizationHeader.startsWith(
"Basic ")) {
111 log.debug(
"Starting Basic Auth token endpoint authentication");
114 log.debug(
"Starting POST Auth token endpoint authentication");
116 filterChain, tokenEndpoint);
118 }
else if (authorizationHeader != null) {
119 if (authorizationHeader.startsWith(
"Bearer ")) {
121 }
else if (authorizationHeader.startsWith(
"Basic ")) {
124 httpResponse.addHeader(
"WWW-Authenticate",
"Basic realm=\"" +
getRealm() +
"\"");
126 httpResponse.sendError(401,
"Not authorized");
129 String sessionId = httpRequest.getParameter(AuthorizeRequestParam.SESSION_ID);
130 List<Prompt> prompts =
Prompt.
fromString(httpRequest.getParameter(AuthorizeRequestParam.PROMPT),
" ");
132 if (StringUtils.isBlank(sessionId)) {
138 if (StringUtils.isNotBlank(sessionId)) {
145 filterChain.doFilter(httpRequest, httpResponse);
148 }
catch (IOException ex) {
149 log.error(ex.getMessage(), ex);
150 }
catch (Exception ex) {
151 log.error(ex.getMessage(), ex);
AUTHENTICATED
Definition: SessionIdState.java:16
SessionId getSessionId()
Definition: SessionIdService.java:360
ErrorResponseFactory errorResponseFactory
Definition: AuthenticationFilter.java:65
static Prompt fromString(String param)
Definition: Prompt.java:57
Definition: SessionId.java:33
SessionIdState getState()
Definition: SessionId.java:120
void processBearerAuth(HttpServletRequest servletRequest, HttpServletResponse servletResponse, FilterChain filterChain)
Definition: AuthenticationFilter.java:260
void processBasicAuth(ClientService clientService, ErrorResponseFactory errorResponseFactory, HttpServletRequest servletRequest, HttpServletResponse servletResponse, FilterChain filterChain)
Definition: AuthenticationFilter.java:198
ClientFilterService clientFilterService
Definition: AuthenticationFilter.java:62
AppConfiguration appConfiguration
Definition: AuthenticationFilter.java:68
void processPostAuth(ClientService clientService, ClientFilterService clientFilterService, ErrorResponseFactory errorResponseFactory, HttpServletRequest servletRequest, HttpServletResponse servletResponse, FilterChain filterChain, boolean tokenEndpoint)
Definition: AuthenticationFilter.java:279
void processJwtAuth(HttpServletRequest servletRequest, HttpServletResponse servletResponse, FilterChain filterChain)
Definition: AuthenticationFilter.java:358
SessionIdService sessionIdService
Definition: AuthenticationFilter.java:56
static final String ACCESS_TOKEN_PREFIX
Definition: AuthenticationFilter.java:47
String getTokenEndpoint()
Definition: AppConfiguration.java:364
void processSessionAuth(ErrorResponseFactory errorResponseFactory, String p_sessionId, HttpServletRequest p_httpRequest, HttpServletResponse p_httpResponse, FilterChain p_filterChain)
Definition: AuthenticationFilter.java:176
void processAuthByAccessToken(HttpServletRequest httpRequest, HttpServletResponse httpResponse, FilterChain filterChain)
Definition: AuthenticationFilter.java:155
static boolean isSameRequestPath(String url1, String url2)
Definition: ServerUtil.java:230
Logger log
Definition: AuthenticationFilter.java:50
Definition: ServerUtil.java:50
Definition: SessionIdState.java:14
Definition: Prompt.java:18
ClientService clientService
Definition: AuthenticationFilter.java:59
String getSessionIdFromCookie(HttpServletRequest request)
Definition: SessionIdService.java:237
String getRealm()
Definition: AuthenticationFilter.java:421
LOGIN
Definition: Prompt.java:31