Member Junction
    Preparing search index...

    Factory and registry for managing authentication providers Combines provider creation and lifecycle management in a single class

    Hierarchy (View Summary)

    Index

    Constructors

    Accessors

    • get GlobalKey(): string

      Returns string

    Methods

    • Gets all providers matching an issuer URL. Unlike getByIssuer() which returns only the first match, this returns all providers for a given issuer. This is needed when multiple apps (e.g. MJExplorer + MJCentral) share the same Auth0 domain but have different audiences (client IDs).

      Parameters

      • issuer: string

      Returns IAuthProvider[]

    • The Global Object Store is a place to store global objects that need to be shared across the application. Depending on the execution environment, this could be the window object in a browser, or the global object in a node environment, or something else in other contexts. The key here is that in some cases static variables are not truly shared because it is possible that a given class might have copies of its code in multiple paths in a deployed application. This approach ensures that no matter how many code copies might exist, there is only one instance of the object in question by using the Global Object Store.

      Returns GlobalObjectStore

    • Collects provider configurations from environment variables by asking every registered provider class to configure itself.

      This replaces the hard-coded env block that used to live in MJServer's config and enumerated Entra / Auth0 / Cognito inline. Discovery is now driven by the same @RegisterClass registry that resolves drivers, so a third-party provider gets the env-var experience without a core edit — see IEnvironmentConfigurableProvider.

      A provider whose variables are absent returns null and is skipped. A provider whose mapping throws is skipped with an error rather than taking down startup, because one malformed mapping must not cost a deployment its other providers.

      Parameters

      • env: ProcessEnv = process.env

        Environment to read from; defaults to process.env.

      Returns AuthProviderConfig[]

      One config per provider that found its variables, deduplicated by name.

    • Returns the singleton instance of the class. If the instance does not exist, it is created and stored in the Global Object Store. If className is provided it will be used as part of the key in the Global Object Store, otherwise the actual class name will be used. NOTE: the class name used by default is the lowest level of the object hierarchy, so if you have a class that extends another class, the lowest level class name will be used.

      Type Parameters

      Parameters

      • this: new () => T
      • OptionalclassName: string

      Returns T