@Override public synchronized ProjectApiKeys createApiKeys(String project) { List<ProjectApiKeys> keys = apiKeys.computeIfAbsent(project, p -> new ArrayList<>()); ProjectApiKeys projectApiKeys = ProjectApiKeys.create( UUID.randomUUID().toString(), UUID.randomUUID().toString(), UUID.randomUUID().toString()); keys.add(projectApiKeys); return projectApiKeys; }
@Override public ProjectApiKeys createApiKeys(String project) { String masterKey = CryptUtil.generateRandomKey(64); String readKey = CryptUtil.generateRandomKey(64); String writeKey = CryptUtil.generateRandomKey(64); try (Connection connection = connectionPool.getConnection()) { PreparedStatement ps = connection.prepareStatement("INSERT INTO api_key " + "(master_key, read_key, write_key, project) VALUES (?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS); ps.setString(1, masterKey); ps.setString(2, readKey); ps.setString(3, writeKey); ps.setString(4, project); ps.executeUpdate(); final ResultSet generatedKeys = ps.getGeneratedKeys(); generatedKeys.next(); } catch (SQLException e) { throw Throwables.propagate(e); } return ProjectApiKeys.create(masterKey, readKey, writeKey); }
return project; }); p.apiKeys.add(ProjectApiKeys.create(r.getString(6), r.getString(7), r.getString(8))); return null; }).iterator();
@JsonRequest @ProtectEndpoint(writeOperation = true) @Path("/save-api-keys") public ApiKeyService.ProjectApiKeys createApiKeys( @Named("user_id") Project project, @ApiParam("read_key") String readKey, @ApiParam("write_key") String writeKey, @ApiParam("master_key") String masterKey) { service.saveApiKeys(project.userId, project.project, readKey, writeKey, masterKey); return ApiKeyService.ProjectApiKeys.create(masterKey, readKey, writeKey); }
private ProjectApiKeys transformKeys(ProjectApiKeys apiKeys) { if (projectConfig.getPassphrase() == null) { return ProjectApiKeys.create(apiKeys.masterKey(), apiKeys.readKey(), apiKeys.writeKey()); } else { return ProjectApiKeys.create( CryptUtil.encryptAES(apiKeys.masterKey(), projectConfig.getPassphrase()), CryptUtil.encryptAES(apiKeys.readKey(), projectConfig.getPassphrase()), CryptUtil.encryptAES(apiKeys.writeKey(), projectConfig.getPassphrase())); } }