protected String createToken( String gadgetURL, String owner, String viewer, Long moduleId, String container) { try { BlobCrypter crypter = getBlobCrypter(this.containerKey); ExoBlobCrypterSecurityToken t = new ExoBlobCrypterSecurityToken(crypter, container, (String) null); t.setAppUrl(gadgetURL); t.setModuleId(moduleId); t.setOwnerId(owner); t.setViewerId(viewer); t.setTrustedJson("trusted"); String portalContainer = PortalContainer.getCurrentPortalContainerName(); PortalRequestContext portalRequestContext = Util.getPortalRequestContext(); String url = portalRequestContext.getRequest().getRequestURL().toString(); String hostName = url.substring(0, url.indexOf(portalRequestContext.getRequestContextPath())); t.setPortalContainer(portalContainer); t.setHostName(hostName); t.setPortalOwner(portalRequestContext.getPortalOwner()); return t.encrypt(); } catch (Exception e) { LOG.error("Failed to generate token for gadget " + gadgetURL + " for owner " + owner, e); } return null; }