@okta/okta-auth-js
Version:
The Okta Auth SDK
68 lines (67 loc) • 2.56 kB
TypeScript
/*!
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
*
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
* See the License for the specific language governing permissions and limitations under the License.
*/
import { OktaUserAgent } from './OktaUserAgent';
import { OktaAuthStorageInterface, OktaAuthStorageOptions, StorageManagerInterface, StorageUtil } from '../storage/types';
export declare type RequestHeaders = Record<string, string>;
export declare type RequestData = Record<string, string> | string | object;
export interface RequestOptions {
url?: string;
method?: string;
args?: RequestData;
saveAuthnState?: boolean;
accessToken?: string;
withCredentials?: boolean;
storageUtil?: StorageUtil;
cacheResponse?: boolean;
headers?: RequestHeaders;
pollingIntent?: boolean;
}
export interface FetchOptions {
headers?: HeadersInit;
data?: RequestData;
withCredentials?: boolean;
}
export interface FetchResponse {
headers: {
get(key: string): string;
};
json(): Promise<object>;
text(): Promise<string>;
}
export interface HttpResponse {
responseText: string;
status: number;
responseType?: string;
responseJSON?: {
[propName: string]: any;
};
headers: HeadersInit;
}
export declare type HttpRequestClient = (method: string, url: string, options: FetchOptions) => Promise<HttpResponse>;
export interface HttpAPI {
setRequestHeader(name: string, value: string): void;
}
export interface OktaAuthHttpOptions extends OktaAuthStorageOptions {
issuer?: string;
transformErrorXHR?: (xhr: object) => any;
headers?: object;
httpRequestClient?: HttpRequestClient;
httpRequestInterceptors?: ((request: RequestOptions) => void)[];
pollDelay?: number;
}
export interface OktaAuthHttpInterface<S extends StorageManagerInterface = StorageManagerInterface, O extends OktaAuthHttpOptions = OktaAuthHttpOptions> extends OktaAuthStorageInterface<S, O> {
_oktaUserAgent: OktaUserAgent;
http: HttpAPI;
setHeaders(headers: any): void;
getIssuerOrigin(): string;
webfinger(opts: any): Promise<object>;
}