constructor()

in packages/azure-kusto-data/src/security.ts [11:51]


    constructor(kcsb: KustoConnectionStringBuilder) {
        if (!kcsb.dataSource) {
            throw new Error("Invalid string builder - missing dataSource");
        }

        if (!!kcsb.aadUserId && !!kcsb.password) {
            this.tokenProvider = new TokenProvider.UserPassTokenProvider(kcsb.dataSource, kcsb.aadUserId, kcsb.password, kcsb.authorityId, kcsb.timeoutMs);
        } else if (!!kcsb.applicationClientId && !!kcsb.applicationKey) {
            this.tokenProvider = new TokenProvider.ApplicationKeyTokenProvider(
                kcsb.dataSource,
                kcsb.applicationClientId,
                kcsb.applicationKey,
                kcsb.authorityId,
                kcsb.timeoutMs,
            );
        } else if (!!kcsb.applicationClientId && (!!kcsb.applicationCertificatePrivateKey || !!kcsb.applicationCertificatePath)) {
            this.tokenProvider = new TokenProvider.ApplicationCertificateTokenProvider(
                kcsb.dataSource,
                kcsb.applicationClientId,
                kcsb.applicationCertificatePrivateKey,
                kcsb.applicationCertificatePath,
                kcsb.applicationCertificateSendX5c,
                kcsb.authorityId,
                kcsb.timeoutMs,
            );
        } else if (kcsb.useManagedIdentityAuth) {
            this.tokenProvider = new TokenProvider.MsiTokenProvider(kcsb.dataSource, kcsb.msiClientId, kcsb.authorityId, kcsb.timeoutMs);
        } else if (kcsb.useAzLoginAuth) {
            this.tokenProvider = new TokenProvider.AzCliTokenProvider(kcsb.dataSource, kcsb.authorityId, kcsb.timeoutMs);
        } else if (kcsb.accessToken) {
            this.tokenProvider = new BasicTokenProvider(kcsb.dataSource, kcsb.accessToken as string);
        } else if (kcsb.useUserPromptAuth) {
            this.tokenProvider = new UserPromptProvider(kcsb.dataSource, kcsb.interactiveCredentialOptions, kcsb.timeoutMs);
        } else if (kcsb.tokenProvider) {
            this.tokenProvider = new CallbackTokenProvider(kcsb.dataSource, kcsb.tokenProvider);
        } else if (kcsb.useDeviceCodeAuth) {
            this.tokenProvider = new TokenProvider.DeviceLoginTokenProvider(kcsb.dataSource, kcsb.deviceCodeCallback, kcsb.authorityId, kcsb.timeoutMs);
        } else if (kcsb.tokenCredential) {
            this.tokenProvider = new TokenCredentialProvider(kcsb.dataSource, kcsb.tokenCredential, kcsb.timeoutMs);
        }
    }