package org.atricore.idbus.capabilities.atricoreid.connector.java;
import org.atricore.idbus.capabilities.atricoreid.common.AtricoreIDAccessToken;
import org.atricore.idbus.capabilities.atricoreid.common.AtricoreIDAccessTokenEnvelope;
import org.atricore.idbus.capabilities.atricoreid.common.util.JasonUtils;
import java.io.IOException;
/**
* @author <a href=mailto:sgonzalez@atricore.org>Sebastian Gonzalez Oyuela</a>
*/
public class AccessTokenResolverImpl implements AccessTokenResolver {
public AtricoreIDAccessToken resolve(String tokenString) throws AtricoreIDRServerException {
try {
AtricoreIDAccessTokenEnvelope envelope = JasonUtils.unmarshalAccessTokenEnvelope(tokenString);
String accessToken = envelope.getToken();
if (envelope.isDeflated())
accessToken = JasonUtils.inflate(accessToken, true);
return JasonUtils.unmarshalAccessToken(accessToken);
} catch (IOException e) {
throw new AtricoreIDRServerException(e);
}
}
}