@asgardeo/browser
Version:
Browser-specific implementation of Asgardeo JavaScript SDK.
46 lines (45 loc) • 2.88 kB
TypeScript
/**
* Copyright (c) 2020, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with 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 { AUTH_CODE, CHECK_SESSION_SIGNED_IN, CHECK_SESSION_SIGNED_OUT, DISABLE_HTTP_HANDLER, ENABLE_HTTP_HANDLER, END_USER_SESSION, GET_AUTH_URL, GET_BASIC_USER_INFO, GET_CONFIG_DATA, GET_CRYPTO_HELPER, GET_DECODED_IDP_ID_TOKEN, GET_DECODED_ID_TOKEN, GET_ID_TOKEN, GET_OIDC_SERVICE_ENDPOINTS, GET_SIGN_OUT_URL, HTTP_REQUEST, HTTP_REQUEST_ALL, INIT, IS_AUTHENTICATED, REFRESH_ACCESS_TOKEN, REFRESH_ACCESS_TOKEN_ERR0R, REQUEST_ACCESS_TOKEN, REQUEST_CUSTOM_GRANT, REQUEST_ERROR, REQUEST_FINISH, REQUEST_START, REQUEST_SUCCESS, REVOKE_ACCESS_TOKEN, SET_SESSION_STATE, SET_SESSION_STATE_FROM_IFRAME, SIGN_IN, SIGN_OUT, START_AUTO_REFRESH_TOKEN, UPDATE_CONFIG } from "../constants";
export interface ResponseMessage<T> {
success: boolean;
error?: string;
data?: T;
blob?: Blob;
}
export interface Message<T> {
type: MessageType;
data?: T;
}
export interface AuthorizationInfo {
code: string;
sessionState: string;
pkce?: string;
state: string;
tokenRequestConfig?: {
params: Record<string, unknown>;
};
}
export type MessageType = typeof INIT | typeof SIGN_IN | typeof AUTH_CODE | typeof SIGN_OUT | typeof HTTP_REQUEST | typeof HTTP_REQUEST_ALL | typeof REQUEST_CUSTOM_GRANT | typeof REVOKE_ACCESS_TOKEN | typeof END_USER_SESSION | typeof REQUEST_ERROR | typeof REQUEST_FINISH | typeof REQUEST_START | typeof REQUEST_SUCCESS | typeof GET_OIDC_SERVICE_ENDPOINTS | typeof GET_BASIC_USER_INFO | typeof GET_DECODED_ID_TOKEN | typeof GET_CRYPTO_HELPER | typeof GET_DECODED_IDP_ID_TOKEN | typeof ENABLE_HTTP_HANDLER | typeof DISABLE_HTTP_HANDLER | typeof GET_AUTH_URL | typeof REQUEST_ACCESS_TOKEN | typeof IS_AUTHENTICATED | typeof GET_SIGN_OUT_URL | typeof REFRESH_ACCESS_TOKEN | typeof REFRESH_ACCESS_TOKEN_ERR0R | typeof SET_SESSION_STATE | typeof START_AUTO_REFRESH_TOKEN | typeof UPDATE_CONFIG | typeof GET_ID_TOKEN | typeof CHECK_SESSION_SIGNED_IN | typeof CHECK_SESSION_SIGNED_OUT | typeof GET_CONFIG_DATA | typeof SET_SESSION_STATE_FROM_IFRAME;
export interface CommunicationHelperInterface {
communicate: <T, R>(message: Message<T>) => Promise<R>;
}
export interface AuthorizationResponse {
authorizationURL: string;
pkce?: string;
}