protected String getToken(String reportedUuid) { Map<String, Object> data = new HashMap<String, Object>(); data.put(HostConstants.FIELD_REPORTED_UUID, reportedUuid); return tokenService.generateToken(data); }
jsonData = tokenService.getJsonPayload(toParse, true); } catch (TokenException e) { // in case of invalid token return null;
@Override public Token createToken(Set<Identity> identities, Account account, String originalLogin) { Identity user = getUser(identities); if (user == null) { throw new ClientVisibleException(ResponseCodes.UNAUTHORIZED); } account = getOrCreateAccount(user, identities, account); if (account == null){ throw new ClientVisibleException(ResponseCodes.INTERNAL_SERVER_ERROR, "FailedToGetAccount"); } postAuthModification(account); account = authDao.updateAccount(account, user.getName(), account.getKind(), user.getExternalId(), user .getExternalIdType()); Map<String, Object> jsonData = new HashMap<>(); jsonData.put(AbstractTokenUtil.TOKEN, tokenType()); jsonData.put(AbstractTokenUtil.ACCOUNT_ID, user.getExternalId()); jsonData.put(AbstractTokenUtil.ID_LIST, identitiesToIdList(identities)); jsonData.put(AbstractTokenUtil.USER_IDENTITY, user); jsonData.put(AbstractTokenUtil.USER_TYPE, account.getKind()); jsonData.put("originalLogin", originalLogin); String accountId = (String) ApiContext.getContext().getIdFormatter().formatId(objectManager.getType(Account.class), account.getId()); Date expiry = new Date(System.currentTimeMillis() + SecurityConstants.TOKEN_EXPIRY_MILLIS.get()); String jwt = tokenService.generateEncryptedToken(jsonData, expiry); Long authenticatedAsAccountId = account.getId(); return new Token(jwt, accountId, user, new ArrayList<>(identities), account.getKind(), authenticatedAsAccountId); }
Map<String, Object> decryptedToken = tokenService.getJsonPayload(encryptedToken, false); String newAccessToken = (String)decryptedToken.get("access_token"); ApiRequest request = ApiContext.getContext().getApiRequest();
protected String getToken(Host host, Map<String, Object> inputData, Date expiration) { Map<String, Object> data = new HashMap<String, Object>(inputData); String uuid = DataAccessor.fields(host).withKey(HostConstants.FIELD_REPORTED_UUID).as(String.class); if (uuid != null) { data.put(HOST_UUID, uuid); } else { data.put(HOST_UUID, host.getUuid()); } if (expiration == null) { return tokenService.generateToken(data); } else { return tokenService.generateToken(data, expiration); } }
Map<String, Object> decryptedToken = tokenService.getJsonPayload(encryptedToken, false); String originalLogin = (String)jsonData.get("originalLogin"); String accessToken = (String)decryptedToken.get("access_token");
protected void setSecrets(Instance instance, Map<Object, Object> data) { List<SecretReference> secrets = DataAccessor.fieldObjectList(instance, InstanceConstants.FIELD_SECRETS, SecretReference.class, jsonMapper); if (secrets == null || secrets.isEmpty()) { return; } StorageDriver driver = storageDriverDao.findSecretsDriver(instance.getAccountId()); if (driver == null) { return; } String token = tokenService.generateToken(CollectionUtils.asMap("uuid", instance.getUuid()), new Date(System.currentTimeMillis() + 31556926000L)); try { Volume vol = storageDriverDao.createSecretsVolume(instance, driver, token); create(vol, null); } catch (ProcessCancelException e) { // ignore } }
@Override protected void generate(final ApiRequest request) throws IOException { if (!"secret".equals(request.getType()) || !"POST".equals(request.getMethod())) { return; } if (!CONTENT_TYPE.equalsIgnoreCase(request.getServletContext().getRequest().getContentType())) { return; } String token = request.proxyRequestObject(Secret.class).getValue(); Map<String, Object> value = null; try { value = tokenService.getJsonPayload(token, false); } catch (TokenException e) { throw new ClientVisibleException(ResponseCodes.FORBIDDEN); } String uuid = DataAccessor.fromMap(value).withKey("uuid").as(String.class); if (StringUtils.isBlank(uuid)) { throw new ClientVisibleException(ResponseCodes.NOT_FOUND); } InstanceAndHost ih = secretDao.getHostForInstanceUUIDAndAuthAccount(ApiUtils.getPolicy().getAccountId(), uuid); if (ih == null) { throw new ClientVisibleException(ResponseCodes.NOT_FOUND); } List<SecretReference> secrets = DataAccessor.fieldObjectList(ih.instance, InstanceConstants.FIELD_SECRETS, SecretReference.class, jsonMapper); List<SecretValue> values = secretsService.getValues(secrets, ih.host); jsonMapper.writeValue(request.getOutputStream(), values); request.setResponseObject(new Object()); }
metaQueryPayload.put("service", serviceStatsQuery); meta.setToken(tokenService.generateToken(metaQueryPayload)); meta.setUrl(metaUrl);
metaQueryPayload.put(ProjectConstants.TYPE, serviceStatsQuery); meta.setToken(tokenService.generateToken(metaQueryPayload)); meta.setUrl(metaUrl);