110 lines
No EOL
3.9 KiB
TypeScript
110 lines
No EOL
3.9 KiB
TypeScript
/**
|
|
* @module botframework-connector
|
|
*/
|
|
/**
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License.
|
|
*/
|
|
import { ConfidentialClientApplication } from '@azure/msal-node';
|
|
import { ServiceClientCredentials, WebResource } from '@azure/core-http';
|
|
import { AuthenticatorResult } from './authenticatorResult';
|
|
/**
|
|
* General AppCredentials auth implementation and cache.
|
|
* Subclasses can implement refreshToken to acquire the token.
|
|
*/
|
|
export declare abstract class AppCredentials implements ServiceClientCredentials {
|
|
private static readonly cache;
|
|
appId: string;
|
|
private _oAuthEndpoint;
|
|
private _oAuthScope;
|
|
private _tenant;
|
|
tokenCacheKey: string;
|
|
protected clientApplication: ConfidentialClientApplication;
|
|
private toJSON;
|
|
/**
|
|
* Initializes a new instance of the [AppCredentials](xref:botframework-connector.AppCredentials) class.
|
|
*
|
|
* @param appId The App ID.
|
|
* @param channelAuthTenant Tenant ID of the Azure AD tenant where the bot is created.
|
|
* - Required for SingleTenant app types.
|
|
* - Optional for MultiTenant app types. **Note**: '_botframework.com_' is the default tenant when no value is provided.
|
|
*
|
|
* More information: https://learn.microsoft.com/en-us/security/zero-trust/develop/identity-supported-account-types.
|
|
* @param oAuthScope The scope for the token.
|
|
*/
|
|
constructor(appId: string, channelAuthTenant?: string, oAuthScope?: string);
|
|
/**
|
|
* Gets tenant to be used for channel authentication.
|
|
*
|
|
* @returns The channel auth token tenant for this credential.
|
|
*/
|
|
private get tenant();
|
|
/**
|
|
* Sets tenant to be used for channel authentication.
|
|
*/
|
|
private set tenant(value);
|
|
/**
|
|
* Gets the OAuth scope to use.
|
|
*
|
|
* @returns The OAuth scope to use.
|
|
*/
|
|
get oAuthScope(): string;
|
|
/**
|
|
* Sets the OAuth scope to use.
|
|
*/
|
|
set oAuthScope(value: string);
|
|
/**
|
|
* Gets the OAuth endpoint to use.
|
|
*
|
|
* @returns The OAuthEndpoint to use.
|
|
*/
|
|
get oAuthEndpoint(): string;
|
|
/**
|
|
* Sets the OAuth endpoint to use.
|
|
*/
|
|
set oAuthEndpoint(value: string);
|
|
/**
|
|
* Adds the host of service url to trusted hosts.
|
|
* If expiration time is not provided, the expiration date will be current (utc) date + 1 day.
|
|
*
|
|
* @deprecated
|
|
*
|
|
* @param {string} serviceUrl The service url
|
|
* @param {Date} expiration? The expiration date after which this service url is not trusted anymore
|
|
*/
|
|
static trustServiceUrl(serviceUrl: string, expiration?: Date): void;
|
|
/**
|
|
* Checks if the service url is for a trusted host or not.
|
|
*
|
|
* @deprecated
|
|
*
|
|
* @param {string} serviceUrl The service url
|
|
* @returns {boolean} True if the host of the service url is trusted; False otherwise.
|
|
*/
|
|
static isTrustedServiceUrl(serviceUrl: string): boolean;
|
|
/**
|
|
* Apply the credentials to the HTTP request.
|
|
*
|
|
* @param webResource The WebResource HTTP request.
|
|
* @returns A Promise representing the asynchronous operation.
|
|
*/
|
|
signRequest(webResource: WebResource): Promise<WebResource>;
|
|
/**
|
|
* Gets an OAuth access token.
|
|
*
|
|
* @param forceRefresh True to force a refresh of the token; or false to get
|
|
* a cached token if it exists.
|
|
* @returns A Promise that represents the work queued to execute.
|
|
* @remarks If the promise is successful, the result contains the access token string.
|
|
*/
|
|
getToken(forceRefresh?: boolean): Promise<string>;
|
|
protected GetToChannelFromBotOAuthScope(): string;
|
|
protected GetToChannelFromBotLoginUrlPrefix(): string;
|
|
protected GetDefaultChannelAuthTenant(): string;
|
|
protected abstract refreshToken(): Promise<AuthenticatorResult>;
|
|
/**
|
|
* @private
|
|
*/
|
|
private shouldSetToken;
|
|
}
|
|
//# sourceMappingURL=appCredentials.d.ts.map
|