2018-02-17 18:51:38 +01:00
|
|
|
package org.gcube.portal.social_networking_client_library.filter;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
|
|
import javax.ws.rs.client.ClientRequestContext;
|
2018-02-19 16:27:09 +01:00
|
|
|
import javax.ws.rs.client.ClientRequestFilter;
|
2018-02-17 18:51:38 +01:00
|
|
|
|
|
|
|
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
2018-02-19 16:27:09 +01:00
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
2018-02-17 18:51:38 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Authorization filter for the jersey client.
|
|
|
|
* @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
|
|
|
|
*/
|
2018-02-19 16:27:09 +01:00
|
|
|
public class AuthorizationFilter implements ClientRequestFilter{
|
2018-02-17 18:51:38 +01:00
|
|
|
private final static String AUTH_TOKEN_PARAMETER = "gcube-token";
|
2018-02-19 16:27:09 +01:00
|
|
|
private static Logger logger = LoggerFactory.getLogger(AuthorizationFilter.class);
|
2018-02-17 18:51:38 +01:00
|
|
|
|
2018-02-19 16:27:09 +01:00
|
|
|
@Override
|
|
|
|
public void filter(ClientRequestContext original) throws IOException {
|
|
|
|
logger.debug("Adding token to the request " + original.getUri());
|
2018-02-17 18:51:38 +01:00
|
|
|
String token = SecurityTokenProvider.instance.get();
|
2018-02-19 16:27:09 +01:00
|
|
|
original.getHeaders().add(AUTH_TOKEN_PARAMETER, token);
|
2018-02-17 18:51:38 +01:00
|
|
|
}
|
|
|
|
}
|