Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Allow setting Store Id per request for multi tenant implementations

Offen
#150 4 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
42/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
java

Rechercherichtung

Beginne damit, den Einstiegspunkt fgaClient.check(request, options) und die im Issue gezeigte ClientCheckOptions API nachzuverfolgen. Ermittle, wie die konfigurierte Store-ID derzeit ausgewählt wird und wie Request-Optionen weitergegeben werden. Die Aufgabe ist abgeschlossen, wenn eine Anfrage die konfigurierte Store-ID überschreiben kann, ohne den gemeinsam genutzten Client-Zustand zu verändern, während das bisherige Konfigurationsverhalten weiterhin verfügbar bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement
Describe the problem you'd like to have solved

In multitenant solutions it would be nice to have a single client instance and the possibility to set the store id for each request, this way the connection pool can be reused without the need to have multiple client instances.

Describe the ideal solution

The store id should available as a client option:

var request = new ClientCheckRequest()
    .user("user:81684243-9356-4421-8fbf-a4f8d36aa31b")
    .relation("writer")
    ._object("document:0192ab2a-d83f-756d-9397-c5ed9f3cb69a");
var options = new ClientCheckOptions()
    .additionalHeaders(Map.of("Some-Http-Header", "Some value"))
    // You can rely on the model id set in the configuration or override it for this specific request
    .authorizationModelId("01GXSA8YR785C4FYS3C0RTG7B1")
    // SET THE STORE ID PER REQUEST
    .storeId("01ARZ3NDEKTSV4RRFFQ69G5FAV");

var response = fgaClient.check(request, options).get();
// response.getAllowed() = true

Alternatives and current workarounds

There are two alternatives:

  1. Having one client for each store id
  2. Explicitly calling fgaClient.setStoreId(store.getId()); on each request, but my guess is there could be race condition issues
Additional context

N/A

Vorherrschende Sprache
Java
Sterne
54
Forks
26
Ø Merge
2 T. 15 Std.
Gemergte PRs (30 T.)
11

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus openfga/java-sdk

Alle Issues in openfga/java-sdk

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.