package tw.com.providers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClient; import com.amazonaws.services.identitymanagement.model.GetUserResult; import com.amazonaws.services.identitymanagement.model.User; public class IdentityProvider { private static final Logger logger = LoggerFactory.getLogger(IdentityProvider.class); private AmazonIdentityManagementClient iamClient; public IdentityProvider(AmazonIdentityManagementClient iamClient) { this.iamClient = iamClient; } // needs iam:GetUser public User getUserId() { logger.debug("Get current user"); try { GetUserResult result = iamClient.getUser(); User user = result.getUser(); logger.info("Fetched current user: " + user); return user; } catch(AmazonServiceException exception) { logger.warn("Unable to fetch current user: " + exception.toString()); return null; } } }