OptionalidentityProviders
identityProviders?: (
| {
kind: "oauth";
name: string;
params: {
authorization_url?: string;
client_id?: string;
client_secret?: string;
driver?: string;
realm?: string;
scopes?: string[];
token_url?: string;
};
}
| {
kind: "oauth";
name: string;
params: {
client_id?: string;
client_secret?: string;
driver?: string;
metadata_url?: string;
realm?: string;
scopes?: string[];
};
}
)[]
OptionalidentityStores
identityStores?: (
| {
kind: "local";
name: string;
params: { path: string; realm?: string };
}
| {
kind: "ldap";
name: string;
params: {
bind_password?: string;
bind_username?: string;
groups?: { dn: string; roles?: (...)[] }[];
realm?: string;
search_base_dn?: string;
search_user_filter?: string;
servers?: { address: string; port?: number }[];
} & { [k: string]: unknown };
}
)[]
Optionalpolicies
policies?: {
access_list_rules?: {
action?: "allow" | "deny";
comment?: string;
conditions?: string[];
}[];
bypass_configs?: { match_type: string; uri?: string }[];
crypto_key_configs?: { source?: string; token_name?: string }[];
name: string;
}[]
Optionalportals
portals?: {
cookie_config?: {
domains?: Record<
string,
{ insecure?: boolean; lifetime?: number; same_site?: string },
>;
insecure?: boolean;
lifetime?: number;
path?: string;
same_site?: string;
};
identity_providers?: string[];
identity_stores?: string[];
name: string;
ui?: { custom_css?: string; logo_url?: string; theme?: string };
user_transformer_configs?: Record<string, unknown>[];
}[]
Options for building a security configuration