ETL: multi-tenant token management for high-volume data pipelines
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start by reading the SDK's existing OAuth token creation flow and CacheInterface to understand their contracts. Then determine whether token pooling belongs in the core SDK and how expiry should be represented; the issue leaves both decisions open. Done means an agreed design supports per-tenant token reuse and refresh before jobs start.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
In multi-tenant SaaS platforms, each tenant has its own Openapi credentials. Running ETL jobs for hundreds of tenants simultaneously requires generating, caching, and refreshing tokens per-tenant — something the current SDK does not model.
Current workaround
foreach ($tenants as $tenant) {
$oauth = new OauthClient($tenant['username'], $tenant['apikey']);
$token = json_decode($oauth->createToken($scopes), true)['token'];
// Problem: no TTL tracking, no reuse across jobs, no central cache
$client = new Client($token);
runEtlJob($tenant, $client);
}
What would help
A TokenPool or TokenStore abstraction that:
- Caches tokens per-tenant until near expiry
- Refreshes automatically before a job starts
- Plugs into the existing
CacheInterface
$pool = new TokenPool($oauthClient, cache: new RedisCache($redis));
$client = new Client(tokenPool: $pool->forTenant($tenantId));
Open questions
- Is
TokenPoolwithin scope for the core SDK or a separate package? - Should it integrate with the existing
Cache\CacheInterfaceor define its own contract? - How should token expiry be tracked — store the TTL alongside the token?
- Lenguaje dominante
- PHP
- Estrellas
- 20
- Forks
- 3
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openapi/openapi-php-sdk
-
Improve PHPDoc Consistency Across the CodebaseQuizá libre de nuevo @Seraphim200001 la tomó hace 138 días y no hay ningún pull request abierto. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
openapi/openapi-php-sdk#36 · 3 comentarios ·
-
enhancement help wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
openapi/openapi-php-sdk#34 ·
-
good first issue question
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
openapi/openapi-php-sdk#33 · 2 comentarios ·
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
openapi/openapi-php-sdk#32 ·
-
help wanted question
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
openapi/openapi-php-sdk#31 ·
Todos los issues de openapi/openapi-php-sdk
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Do not throw `WordPress.Security.EscapeOutput.OutputNotEscaped` on `apply_shortcodes()`Posiblemente ocupada @tbradsha la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
fe: spell out "Auto increment" in the table editor, "AI" reads as artificial intelligence todayAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
landsman/adminer-desktop#120 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
components-web-app/docs#227 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100