Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

ETL: multi-tenant token management for high-volume data pipelines

Aperta
#29 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
php
Ambito
api, backend

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

help wanted

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 TokenPool within scope for the core SDK or a separate package?
  • Should it integrate with the existing Cache\CacheInterface or define its own contract?
  • How should token expiry be tracked — store the TTL alongside the token?
Lingua principale
PHP
Stelle
20
Fork
3
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di openapi/openapi-php-sdk

Tutte le issue di openapi/openapi-php-sdk

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.