@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
71 lines • 7.41 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { ActionGroup, Button, FormGroup } from "@patternfly/react-core";
import { useTranslation } from "react-i18next";
import { HelpItem, SelectControl } from "../../ui-shared";
import { FormAccess } from "../../components/form/FormAccess";
import { MultiLineInput } from "../../components/multi-line-input/MultiLineInput";
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
import { convertAttributeNameToForm, sortProviders } from "../../util";
import { ApplicationUrls } from "../../clients/advanced/ApplicationUrls";
export const FineGrainOpenIdConnect = ({ save, reset, hasConfigureAccess, }) => {
const { t } = useTranslation();
const providers = useServerInfo().providers;
const clientSignatureProviders = providers === null || providers === void 0 ? void 0 : providers.clientSignature.providers;
const contentEncryptionProviders = providers === null || providers === void 0 ? void 0 : providers.contentencryption.providers;
const cekManagementProviders = providers === null || providers === void 0 ? void 0 : providers.cekmanagement.providers;
const signatureProviders = providers === null || providers === void 0 ? void 0 : providers.signature.providers;
const convert = (list) => sortProviders(list).map((i) => ({ key: i, value: i }));
const prependEmpty = (list) => [
{ key: "", value: t("choose") },
...convert(list),
];
const prependAny = (list) => [
{ key: "any", value: t("any") },
...convert(list),
];
const prependNone = (list) => [
{ key: "none", value: t("none") },
...convert(list),
];
return (_jsxs(FormAccess, { role: "manage-clients", fineGrainedAccess: hasConfigureAccess, isHorizontal: true, children: [_jsx(ApplicationUrls, {}), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.access.token.signed.response.alg"), label: t("accessTokenSignatureAlgorithm"), labelIcon: t("accessTokenSignatureAlgorithmHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(clientSignatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.id.token.signed.response.alg"), label: t("idTokenSignatureAlgorithm"), labelIcon: t("idTokenSignatureAlgorithmHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(clientSignatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.id.token.encrypted.response.alg"), label: t("idTokenEncryptionKeyManagementAlgorithm"), labelIcon: t("idTokenEncryptionKeyManagementAlgorithmHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.id.token.encrypted.response.enc"), label: t("idTokenEncryptionContentEncryptionAlgorithm"), labelIcon: t("idTokenEncryptionContentEncryptionAlgorithmHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(contentEncryptionProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.user.info.response.signature.alg"), label: t("userInfoSignedResponseAlgorithm"), labelIcon: t("userInfoSignedResponseAlgorithmHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(signatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.user.info.encrypted.response.alg"), label: t("userInfoResponseEncryptionKeyManagementAlgorithm"), labelIcon: t("userInfoResponseEncryptionKeyManagementAlgorithmHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.user.info.encrypted.response.enc"), label: t("userInfoResponseEncryptionContentEncryptionAlgorithm"), labelIcon: t("userInfoResponseEncryptionContentEncryptionAlgorithmHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(contentEncryptionProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.signature.alg"), label: t("requestObjectSignatureAlgorithm"), labelIcon: t("requestObjectSignatureAlgorithmHelp"), controller: {
defaultValue: "",
}, options: [
{ key: "any", value: t("any") },
...prependNone(clientSignatureProviders),
] }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.encryption.alg"), label: t("requestObjectEncryption"), labelIcon: t("requestObjectEncryptionHelp"), controller: {
defaultValue: "",
}, options: prependAny(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.encryption.enc"), label: t("requestObjectEncoding"), labelIcon: t("requestObjectEncodingHelp"), controller: {
defaultValue: "",
}, options: prependAny(contentEncryptionProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.request.object.required"), label: t("requestObjectRequired"), labelIcon: t("requestObjectRequiredHelp"), controller: {
defaultValue: "",
}, options: [
"not required",
"request or request_uri",
"request only",
"request_uri only",
].map((p) => ({
key: p,
value: t(`requestObject.${p}`),
})) }), _jsx(FormGroup, { label: t("validRequestURIs"), fieldId: "validRequestURIs", labelIcon: _jsx(HelpItem, { helpText: t("validRequestURIsHelp"), fieldLabelId: "validRequestURIs" }), children: _jsx(MultiLineInput, { name: convertAttributeNameToForm("attributes.request.uris"), "aria-label": t("validRequestURIs"), addButtonLabel: "addRequestUri", stringify: true }) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.authorization.signed.response.alg"), label: t("authorizationSignedResponseAlg"), labelIcon: t("authorizationSignedResponseAlgHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(signatureProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.authorization.encrypted.response.alg"), label: t("authorizationEncryptedResponseAlg"), labelIcon: t("authorizationEncryptedResponseAlgHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(cekManagementProviders) }), _jsx(SelectControl, { name: convertAttributeNameToForm("attributes.authorization.encrypted.response.enc"), label: t("authorizationEncryptedResponseEnc"), labelIcon: t("authorizationEncryptedResponseEncHelp"), controller: {
defaultValue: "",
}, options: prependEmpty(contentEncryptionProviders) }), _jsxs(ActionGroup, { children: [_jsx(Button, { variant: "secondary", id: "fineGrainSave", onClick: save, children: t("save") }), _jsx(Button, { id: "fineGrainRevert", variant: "link", onClick: reset, children: t("revert") })] })] }));
};
//# sourceMappingURL=FineGrainOpenIdConnect.js.map