Member Junction
    Preparing search index...
    • Resolves multiple credential fields at once, tracking the source of each value.

      Type Parameters

      • T extends Record<string, unknown>

      Parameters

      • requestCredentials: Partial<T>

        Credentials provided in the request

      • envCredentials: Partial<T>

        Credentials from environment variables

      • fieldNames: (keyof T)[]

        Array of field names to resolve

      • disableFallback: boolean

        If true, don't use environment values

      Returns CredentialResolutionResult<Partial<T>>

      Resolution result with values and source tracking

      const result = resolveCredentials(
      credentials,
      { tenantId: process.env.AZURE_TENANT_ID, clientId: process.env.AZURE_CLIENT_ID },
      ['tenantId', 'clientId', 'clientSecret'],
      credentials?.disableEnvironmentFallback ?? false
      );

      console.log(result.source); // 'mixed' if some from request, some from env
      console.log(result.fieldSources); // { tenantId: 'request', clientId: 'environment', ... }