package org.atricore.idbus.capabilities.oauth2.rserver.util; import org.atricore.idbus.capabilities.oauth2.common.OAuth2AccessToken; import org.atricore.idbus.capabilities.oauth2.common.OAuth2AccessTokenEnvelope; import org.atricore.idbus.capabilities.oauth2.common.OAuth2Claim; import org.atricore.idbus.capabilities.oauth2.rserver.OAuth2RServerException; import org.atricore.idbus.capabilities.oauth2.rserver.SecureAccessTokenResolverFactory; import org.atricore.idbus.capabilities.oauth2.rserver.SecureAccessTokenResolverImpl; import java.io.IOException; import java.util.Properties; /** * @author <a href=mailto:sgonzalez@atricore.org>Sebastian Gonzalez Oyuela</a> */ public class OAuth2PrintATEnvelope { private String secret; private String tokenStr; private SecureAccessTokenResolverImpl r; public static void main(String[] args) throws Exception { String secret = args[0]; String tokenStr = args[1]; OAuth2PrintATEnvelope c = new OAuth2PrintATEnvelope(secret, tokenStr); c.print(); } public OAuth2PrintATEnvelope(String secret, String tokenStr) throws OAuth2RServerException { this.secret = secret; this.tokenStr = tokenStr; Properties config = new Properties(); config.setProperty(SecureAccessTokenResolverFactory.SHARED_SECRECT_PROPERTY, this.secret); r = (SecureAccessTokenResolverImpl) SecureAccessTokenResolverFactory.newInstance(config).newResolver(); } public void print() throws IOException, OAuth2RServerException { OAuth2AccessTokenEnvelope env = org.atricore.idbus.capabilities.oauth2.common.util.JasonUtils.unmarshalAccessTokenEnvelope(tokenStr, true); OAuth2AccessToken at = r.resolve(env.getToken()); System.out.println("AT.TimeStamp:" + at.getTimeStamp()); for (OAuth2Claim claim : at.getClaims()) { System.out.println("AT.Claim:" + claim.getType() + "=" + claim.getValue()); } } }