1 package org.apache.maven.wagon.tck.http.fixture;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.IOException;
23 import java.nio.charset.StandardCharsets;
24
25 import javax.servlet.Filter;
26 import javax.servlet.FilterChain;
27 import javax.servlet.FilterConfig;
28 import javax.servlet.ServletException;
29 import javax.servlet.ServletRequest;
30 import javax.servlet.ServletResponse;
31 import javax.servlet.http.HttpServletRequest;
32
33 import org.codehaus.plexus.util.Base64;
34 import org.slf4j.Logger;
35 import org.slf4j.LoggerFactory;
36
37
38
39
40 public class AuthSnoopFilter
41 implements Filter
42 {
43 private static Logger logger = LoggerFactory.getLogger( AuthSnoopFilter.class );
44
45 public void destroy()
46 {
47 }
48
49 public void doFilter( final ServletRequest req, final ServletResponse response, final FilterChain chain )
50 throws IOException, ServletException
51 {
52 HttpServletRequest request = (HttpServletRequest) req;
53 String authHeader = request.getHeader( "Authorization" );
54
55 if ( authHeader != null )
56 {
57 logger.info( "Authorization: " + authHeader );
58 String data = authHeader.substring( "BASIC ".length() );
59 String decoded = new String( Base64.decodeBase64( data.getBytes( StandardCharsets.US_ASCII ) ) );
60 logger.info( decoded );
61 String[] creds = decoded.split( ":" );
62
63 logger.info( "User: " + creds[0] + "\nPassword: " + creds[1] );
64 }
65 }
66
67 public void init( final FilterConfig filterConfig )
68 throws ServletException
69 {
70 }
71
72 }