All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.bot.connector.customizations.CredentialProviderImpl Maven / Gradle / Ivy

The newest version!
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.microsoft.bot.connector.customizations;

import java.util.concurrent.CompletableFuture;

public class CredentialProviderImpl extends BotCredentials implements CredentialProvider {

    public CredentialProviderImpl(String appId, String appPassword) {
        this.appId = appId;
        this.appPassword = appPassword;
    }

    public CredentialProviderImpl(BotCredentials credentials) {
        this(credentials.appId, credentials.appPassword);
    }

    @Override
    public CredentialProviderImpl withAppId(String appId) {
        return (CredentialProviderImpl) super.withAppId(appId);
    }

    @Override
    public CredentialProviderImpl withAppPassword(String appPassword) {
        return (CredentialProviderImpl) super.withAppPassword(appPassword);
    }

    @Override
    public CompletableFuture isValidAppIdAsync(String appId) {
        return CompletableFuture.completedFuture(this.appId.equals(appId));
    }

    @Override
    public CompletableFuture getAppPasswordAsync(String appId) {
        return CompletableFuture.completedFuture((this.appId.equals(appId) ? this.appPassword : null));
    }

    @Override
    public CompletableFuture isAuthenticationDisabledAsync() {
        return CompletableFuture.completedFuture(this.appId == null || this.appId.isEmpty());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy