Skip to content

Support Runtime Configuration in KindeTanstackProvider #22

Description

@hanneswidrig

Prerequisites

Describe the issue

I wasn't sure whether to make this a bug or feature request, but I would expect that I could provide some values as props on the client like clientId and domain.

I am using TanStack Start and want to build a single Docker image that can be deployed across multiple environments (staging, production, etc.). In this workflow, environment variables like KINDE_CLIENT_ID and KINDE_ISSUER_URL are not known at build time and cannot be baked into the client bundle via VITE_ prefixes. Instead, I need to fetch these values at runtime (e.g., via a TanStack Start loader) and pass them into the SDK.

Currently, the SDK's configuration logic makes this difficult because of strict validation that happens immediately on the client in config/index.ts.

My desired end state would be the ability to something like:

function RootDocument({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <head>
        <HeadContent />
      </head>
      <body>
        <KindeTanstackProvider
          clientId={loaderData.kindeConfig.clientId}
          domain={loaderData.kindeConfig.issuerUrl}
          siteUrl={loaderData.kindeConfig.siteUrl}
        >
          {children}
        </KindeTanstackProvider>
        <Scripts />
      </body>
    </html>
  );
}

Library URL

https://github.com/kinde-oss/kinde-tsr

Library version

0.0.2

Operating system(s)

macOS

Operating system version(s)

26.5.1

Further environment details

No response

Reproducible test case URL

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions