@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
87 lines • 3.91 kB
TypeScript
import { State } from '../../shared/State';
export type DirectiveEnabled = [];
export type DirectiveSource = string;
export type AllFlag = '*';
export type AllowDuplicatesFlag = "'allow-duplicates'";
export type NoneFlag = "'none'";
export type ScriptFlag = "'script'";
export type SelfFlag = "'self'";
export type DirectiveFlag = AllFlag | NoneFlag | SelfFlag | DirectiveSource;
export type DirectiveSourceFlag = 'data:' | "'unsafe-inline'" | "'unsafe-eval'" | "'unsafe-hashes'" | DirectiveFlag;
export type SandboxDirectiveFlag = "'allow-forms'" | "'allow-same-origin'" | "'allow-scripts'" | "'allow-popups'" | "'allow-pointer-lock'" | "'allow-top-navigation'";
export type RefererDirectiveFlag = "'no-referrer'" | "'none-when-downgrade'" | "'origin'" | "'origin-when-cross-origin'" | "'unsafe-url'";
/**
* Content Security Policy object
*/
export type ContentSecurityPolicy = {
active: boolean;
directives: {
'base-uri'?: DirectiveFlag[];
'block-all-mixed-content'?: DirectiveEnabled;
'child-src'?: DirectiveSourceFlag[];
'connect-src'?: DirectiveSourceFlag[];
'default-src'?: DirectiveSourceFlag[];
'font-src'?: DirectiveSourceFlag[];
'form-action'?: DirectiveFlag[];
'frame-ancestors'?: DirectiveFlag[];
'frame-src'?: DirectiveSourceFlag[];
'img-src'?: DirectiveSourceFlag[];
'manifest-src'?: DirectiveSourceFlag[];
'media-src'?: DirectiveSourceFlag[];
'navigate-to'?: DirectiveFlag[];
'object-src'?: DirectiveSourceFlag[];
'plugin-types'?: DirectiveSource[];
'prefetch-src'?: DirectiveSourceFlag[];
referrer?: RefererDirectiveFlag[];
'report-to'?: DirectiveSource;
'report-uri'?: DirectiveSource;
'require-trusted-types-for'?: ScriptFlag;
sandbox?: SandboxDirectiveFlag[];
'script-src'?: DirectiveSourceFlag[];
'script-src-attr'?: DirectiveSourceFlag[];
'script-src-elem'?: DirectiveSourceFlag[];
'style-src'?: DirectiveSourceFlag[];
'style-src-attr'?: DirectiveSourceFlag[];
'style-src-elem'?: DirectiveSourceFlag;
'trusted-types'?: NoneFlag | AllowDuplicatesFlag;
'upgrade-insecure-requests'?: DirectiveEnabled;
'worker-src'?: DirectiveSourceFlag[];
};
};
/**
* Get enforced content security policy
* @returns {Promise<ContentSecurityPolicy>} a promise that resolves to a ContentSecurityPolicy object
*/
export declare function getEnforcedContentSecurityPolicy({ state, }: {
state: State;
}): Promise<ContentSecurityPolicy>;
/**
* Set enforced content security policy
* @param {Object} params Parameters object.
* @param {ContentSecurityPolicy} params.policy ContentSecurityPolicy object
* @param {State} params.state State object.
* @returns {Promise<ContentSecurityPolicy>} a promise that resolves to a ContentSecurityPolicy object.
*/
export declare function setEnforcedContentSecurityPolicy({ policy, state, }: {
policy: ContentSecurityPolicy;
state: State;
}): Promise<ContentSecurityPolicy>;
/**
* Get report-only content security policy
* @returns {Promise<ContentSecurityPolicy>} a promise that resolves to a ContentSecurityPolicy object
*/
export declare function getReportOnlyContentSecurityPolicy({ state, }: {
state: State;
}): Promise<ContentSecurityPolicy>;
/**
* Set report-only content security policy
* @param {Object} params Parameters object.
* @param {ContentSecurityPolicy} params.policy ContentSecurityPolicy object
* @param {State} params.state State object.
* @returns {Promise<ContentSecurityPolicy>} a promise that resolves to a ContentSecurityPolicy object.
*/
export declare function setReportOnlyContentSecurityPolicy({ policy, state, }: {
policy: ContentSecurityPolicy;
state: State;
}): Promise<ContentSecurityPolicy>;
//# sourceMappingURL=EnvContentSecurityPolicyApi.d.ts.map