All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.DetailSettings-552bb5b3.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{u as C,a as w,r as x,Q as ve,j as e,C as j,S as je,F as b,h as v,V as y,q as G,g as h,e as Ce,W as Se,d as Ie,b as Fe,c as re,l as Q,A as B,bK as Te,bL as X,K as ke,X as Re,f as we,P as Me,bM as Y,B as De,L as oe,at as Le,G as Ne,bN as Oe}from"./index-f33eb656.js";import{u as q}from"./ConfirmDialog-cc2aa7b4.js";import{D as Pe}from"./DynamicComponents-f1c9e7ec.js";import{F as Ve}from"./FixedButtonGroup-8fc820c3.js";import{F as E}from"./FormAccess-29b78a4e.js";import{L as Be}from"./PaginatingTableToolbar-2e41cd99.js";import{P as Ee}from"./PermissionTab-2be61a29.js";import{R as Ae,u as Ke}from"./RoutableTabs-8ba6475e.js";import{S as qe}from"./ScrollForm-c201dcc9.js";import{K as He}from"./KeycloakDataTable-82a4b6c2.js";import{V as Ge}from"./ViewHeader-5aaa6ccc.js";import{u as Ue,F as ze}from"./useIsFeatureEnabled-4167e6f3.js";import{u as U}from"./useParams-74754a7c.js";import{T as H,S as u,F as ae}from"./discovery-settings-8e1556b9.js";import{K as Z}from"./KeycloakTextInput-e2751b88.js";import{S as M,a as D,b as F}from"./Select-802cd710.js";import{S as _e,D as $e}from"./SamlGeneralSettings-5b775f37.js";import{O as Je,D as We,a as Qe}from"./OIDCGeneralSettings-ba72e52f.js";import{E as Xe}from"./ExpandableSection-a2f0035b.js";import{F as ne}from"./Form-6c170f69.js";import{N as Ye}from"./NumberInput-9c803d0a.js";import{G as Ze}from"./GeneralSettings-fbf8c53e.js";import{M as ee}from"./MultiLineInput-45573e30.js";import{a as A,b as K}from"./Tabs-5aebe4ec.js";import{b as et}from"./ToolbarContent-f1a19b22.js";import"./Modal-e76dd76f.js";import"./ClientSelect-2e93e797.js";import"./FileUpload-df08e952.js";import"./CodeEditor-e0b9ac78.js";import"./copy-icon-c00ff2e0.js";import"./EmptyStateBody-de699127.js";import"./EmptyStateSecondaryActions-7a33984f.js";import"./GroupPickerDialog-1f4cdfaa.js";import"./admin-ui-endpoint-9ec5dfbd.js";import"./getAuthorizationHeaders-f2376d1a.js";import"./DataListItemRow-c0c554d3.js";import"./data-list-7d55714c.js";import"./grip-vertical-icon-90ec69d5.js";import"./ActionListItem-96f54559.js";import"./Flex-75bc733b.js";import"./FlexItem-4d1e088a.js";import"./minus-circle-icon-cb05a6be.js";import"./plus-circle-icon-2ea0b4ed.js";import"./PasswordInput-3397c9bf.js";import"./useToggle-d322044d.js";import"./AddRoleMappingModal-d36df11e.js";import"./useLocaleSort-22b9cad8.js";import"./resource-db8462e3.js";import"./filter-icon-16b4a4ff.js";import"./Td-137060bd.js";import"./star-icon-d7615f00.js";import"./check-fc57dbe1.js";import"./Checkbox-8826c1eb.js";import"./KeycloakTextArea-b4f2aa51.js";import"./GridItem-8422f423.js";import"./TableToolbar-8e38cfad.js";import"./Trans-3f58860b.js";import"./Card-1b46a6d0.js";import"./CardTitle-f50befe6.js";import"./CardBody-a335088c.js";import"./FormPanel-dcdadf01.js";import"./CardHeader-8937fd16.js";import"./Text-83f5a4d7.js";import"./DisplayOrder-78b0eb00.js";import"./ClientIdSecret-e4629d86.js";import"./minus-icon-9eecb50c.js";import"./plus-icon-6a98b80b.js";import"./MenuList-b32c7668.js";const te=({field:t,label:i,defaultValue:s})=>{const{t:d}=C("identity-providers"),{control:a}=w(),[o,l]=x.useState(),[p,c]=x.useState(!1);return G(()=>h.authenticationManagement.getFlows(),m=>l(m.filter(n=>n.providerId==="basic-flow")),[]),e.jsx(b,{label:d(i),labelIcon:e.jsx(v,{helpText:d(`identity-providers-help:${i}`),fieldLabelId:`identity-providers:${i}`}),fieldId:i,children:e.jsx(j,{name:t,defaultValue:s,control:a,render:({field:m})=>e.jsx(M,{toggleId:i,required:!0,onToggle:()=>c(!p),onSelect:(n,f)=>{m.onChange(f),c(!1)},selections:m.value||d("common:none"),variant:D.single,"aria-label":d(i),isOpen:p,children:[...s===""?[e.jsx(F,{value:"",children:d("common:none")},"empty")]:[],...o?.map(n=>e.jsx(F,{selected:n.alias===m.value,value:n.alias,children:n.alias},n.id))||[]]})})})},ie=["import","legacy","force"],tt=({isOIDC:t,isSAML:i})=>{const{t:s}=C("identity-providers"),{control:d,register:a,formState:{errors:o}}=w(),[l,p]=x.useState(!1),m=ve({control:d,name:"config.filteredByClaim",defaultValue:"false"})==="true";return e.jsxs(e.Fragment,{children:[!t&&!i&&e.jsx(H,{field:"config.defaultScope",label:"scopes"}),e.jsx(u,{field:"storeToken",label:"storeTokens",fieldType:"boolean"}),(i||t)&&e.jsx(u,{field:"addReadTokenRoleOnCreate",label:"storedTokensReadable",fieldType:"boolean"}),!t&&!i&&e.jsxs(e.Fragment,{children:[e.jsx(u,{field:"config.acceptsPromptNoneForwardFromClient",label:"acceptsPromptNone"}),e.jsx(u,{field:"config.disableUserInfo",label:"disableUserInfo"})]}),e.jsx(u,{field:"trustEmail",label:"trustEmail",fieldType:"boolean"}),e.jsx(u,{field:"linkOnly",label:"accountLinkingOnly",fieldType:"boolean"}),e.jsx(u,{field:"config.hideOnLoginPage",label:"hideOnLoginPage"}),(!i||t)&&e.jsx(ae,{label:"filteredByClaim",children:e.jsx(j,{name:"config.filteredByClaim",defaultValue:"false",control:d,render:({field:n})=>e.jsx(je,{id:"filteredByClaim",label:s("common:on"),labelOff:s("common:off"),isChecked:n.value==="true",onChange:f=>{n.onChange(f.toString())}})})}),(!i||t)&&m&&e.jsxs(e.Fragment,{children:[e.jsx(b,{label:s("identity-providers:claimFilterName"),labelIcon:e.jsx(v,{helpText:s("identity-providers-help:claimFilterName"),fieldLabelId:"identity-providers:claimFilterName"}),fieldId:"kc-claim-filter-name",isRequired:!0,validated:o.config?.claimFilterName?y.error:y.default,helperTextInvalid:s("common:required"),children:e.jsx(Z,{isRequired:!0,id:"kc-claim-filter-name","data-testid":"claimFilterName",validated:o.config?.claimFilterName?y.error:y.default,...a("config.claimFilterName",{required:!0})})}),e.jsx(b,{label:s("identity-providers:claimFilterValue"),labelIcon:e.jsx(v,{helpText:s("identity-providers-help:claimFilterValue"),fieldLabelId:"identity-providers:claimFilterName"}),fieldId:"kc-claim-filter-value",isRequired:!0,validated:o.config?.claimFilterValue?y.error:y.default,helperTextInvalid:s("common:required"),children:e.jsx(Z,{isRequired:!0,id:"kc-claim-filter-value","data-testid":"claimFilterValue",validated:o.config?.claimFilterValue?y.error:y.default,...a("config.claimFilterValue",{required:!0})})})]}),e.jsx(te,{field:"firstBrokerLoginFlowAlias",label:"firstBrokerLoginFlowAlias",defaultValue:"fist broker login"}),e.jsx(te,{field:"postBrokerLoginFlowAlias",label:"postBrokerLoginFlowAlias",defaultValue:""}),e.jsx(b,{className:"pf-u-pb-3xl",label:s("syncMode"),labelIcon:e.jsx(v,{helpText:s("identity-providers-help:syncMode"),fieldLabelId:"identity-providers:syncMode"}),fieldId:"syncMode",children:e.jsx(j,{name:"config.syncMode",defaultValue:ie[0].toUpperCase(),control:d,render:({field:n})=>e.jsx(M,{toggleId:"syncMode",required:!0,direction:"up",onToggle:()=>p(!l),onSelect:(f,T)=>{n.onChange(T),p(!1)},selections:s(`syncModes.${n.value.toLowerCase()}`),variant:D.single,"aria-label":s("syncMode"),isOpen:l,children:ie.map(f=>e.jsx(F,{selected:f===n.value,value:f.toUpperCase(),children:s(`syncModes.${f}`)},f))})})})]})},it={unspecified:"",none:"none",consent:"consent",login:"login",select_account:"select_account"},st=()=>{const{t}=C("identity-providers"),{control:i}=w(),[s,d]=x.useState(!1),[a,o]=x.useState(!1);return e.jsx(Xe,{toggleText:t("advanced"),onToggle:()=>d(!s),isExpanded:s,children:e.jsxs(ne,{isHorizontal:!0,children:[e.jsx(u,{label:"passLoginHint",field:"config.loginHint"}),e.jsx(u,{label:"passMaxAge",field:"config.passMaxAge"}),e.jsx(u,{label:"passCurrentLocale",field:"config.uiLocales"}),e.jsx(u,{field:"config.backchannelSupported",label:"backchannelLogout"}),e.jsx(u,{field:"config.disableUserInfo",label:"disableUserInfo"}),e.jsx(H,{field:"config.defaultScope",label:"scopes"}),e.jsx(ae,{label:"prompt",children:e.jsx(j,{name:"config.prompt",defaultValue:"",control:i,render:({field:l})=>e.jsx(M,{toggleId:"prompt",required:!0,onToggle:()=>o(!a),onSelect:(p,c)=>{l.onChange(c),o(!1)},selections:l.value||t("prompts.unspecified"),variant:D.single,"aria-label":t("prompt"),isOpen:a,children:Object.entries(it).map(([p,c])=>e.jsx(F,{selected:c===l.value,value:c,children:t(`prompts.${p}`)},p))})})}),e.jsx(u,{field:"config.acceptsPromptNoneForwardFromClient",label:"acceptsPromptNone"}),e.jsx(b,{label:t("allowedClockSkew"),labelIcon:e.jsx(v,{helpText:"identity-providers-help:allowedClockSkew",fieldLabelId:"identity-providers:allowedClockSkew"}),fieldId:"allowedClockSkew",children:e.jsx(j,{name:"config.allowedClockSkew",defaultValue:0,control:i,render:({field:l})=>{const p=Number(l.value);return e.jsx(Ye,{"data-testid":"allowedClockSkew",inputName:"allowedClockSkew",min:0,max:2147483,value:p,readOnly:!0,onPlus:()=>l.onChange(p+1),onMinus:()=>l.onChange(p-1),onChange:c=>{const m=Number(c.target.value);l.onChange(m<0?0:m)}})}})}),e.jsx(H,{field:"config.forwardParameters",label:"forwardParameters"})]})})},se=["exact","minimum","maximum","better"],rt=()=>{const{t}=C("identity-providers"),{control:i}=w(),[s,d]=x.useState(!1);return e.jsxs(e.Fragment,{children:[e.jsx(b,{label:t("comparison"),labelIcon:e.jsx(v,{helpText:t("identity-providers-help:comparison"),fieldLabelId:"identity-providers:comparison"}),fieldId:"comparison",children:e.jsx(j,{name:"config.authnContextComparisonType",defaultValue:se[0],control:i,render:({field:a})=>e.jsx(M,{toggleId:"comparison",required:!0,direction:"up",onToggle:o=>d(o),onSelect:(o,l)=>{a.onChange(l.toString()),d(!1)},selections:a.value,variant:D.single,"aria-label":t("comparison"),isOpen:s,children:se.map(o=>e.jsx(F,{selected:o===a.value,value:o,children:t(o)},o))})})}),e.jsx(b,{label:t("authnContextClassRefs"),fieldId:"kc-authnContextClassRefs",labelIcon:e.jsx(v,{helpText:t("identity-providers-help:authnContextClassRefs"),fieldLabelId:"authnContextClassRefs"}),children:e.jsx(ee,{name:"config.authnContextClassRefs","aria-label":t("identify-providers:authnContextClassRefs"),addButtonLabel:"identity-providers:addAuthnContextClassRef","data-testid":"classref-field"})}),e.jsx(b,{label:t("authnContextDeclRefs"),fieldId:"kc-authnContextDeclRefs",labelIcon:e.jsx(v,{helpText:t("identity-providers-help:authnContextDeclRefs"),fieldLabelId:"authnContextDeclRefs"}),children:e.jsx(ee,{name:"config.authnContextDeclRefs","aria-label":t("identify-providers:authnContextDeclRefs"),addButtonLabel:"identity-providers:addAuthnContextDeclRef","data-testid":"declref-field"})})]})},ot=({onChange:t,value:i,save:s,toggleDeleteDialog:d})=>{const{t:a}=C("identity-providers"),{alias:o}=U(),[l,p]=x.useState();G(()=>h.identityProviders.findOne({alias:o}),n=>{if(!n)throw new Error(a("common:notFound"));p(n)},[]);const[c,m]=q({titleKey:"identity-providers:disableProvider",messageKey:a("disableConfirm",{provider:o}),continueButtonLabel:"common:disable",onConfirm:()=>{t(!i),s()}});return e.jsxs(e.Fragment,{children:[e.jsx(m,{}),e.jsx(Ge,{titleKey:Le(l?l.displayName?l.displayName:l.providerId:""),divider:!1,dropdownItems:[e.jsx(Ne,{onClick:()=>d(),children:a("common:delete")},"delete")],isEnabled:i,onToggle:n=>{n?(t(n),s()):c()}})]})},at=({name:t,mapperId:i,provider:s})=>{const{realm:d}=re(),{alias:a}=U();return e.jsx(oe,{to:Oe({realm:d,alias:a,providerId:s?.providerId,id:i}),children:t})};function Ci(){const{t}=C("identity-providers"),{alias:i,providerId:s}=U(),d=Ue(),a=Ce(),{handleSubmit:o,getValues:l,reset:p}=a,[c,m]=x.useState(),[n,f]=x.useState(),T=Se(),z=x.useMemo(()=>T.componentTypes?.["org.keycloak.broker.social.SocialIdentityProvider"]?.find(r=>r.id===s),[T,s]),{addAlert:L,addError:N}=Ie(),O=Fe(),{realm:S}=re(),[_,le]=x.useState(0),de=()=>le(_+1);G(()=>h.identityProviders.findOne({alias:i}),r=>{if(!r)throw new Error(t("common:notFound"));p(r),m(r),r.config.authnContextClassRefs&&a.setValue("config.authnContextClassRefs",JSON.parse(r.config?.authnContextClassRefs)),r.config.authnContextDeclRefs&&a.setValue("config.authnContextDeclRefs",JSON.parse(r.config?.authnContextDeclRefs))},[]);const $=r=>X({realm:S,alias:i,providerId:s,tab:r}),P=r=>Ke($(r)),ce=P("settings"),pe=P("mappers"),me=P("permissions"),k=async r=>{const g=r||l();g.config?.authnContextClassRefs&&(g.config.authnContextClassRefs=JSON.stringify(g.config.authnContextClassRefs)),g.config?.authnContextDeclRefs&&(g.config.authnContextDeclRefs=JSON.stringify(g.config.authnContextDeclRefs));try{await h.identityProviders.update({alias:i},{...g,config:{...c?.config,...g.config},alias:i,providerId:s}),L(t("updateSuccess"),B.success)}catch(J){N("identity-providers:updateError",J)}},[ue,fe]=q({titleKey:"identity-providers:deleteProvider",messageKey:t("identity-providers:deleteConfirm",{provider:i}),continueButtonLabel:"common:delete",continueButtonVariant:Q.danger,onConfirm:async()=>{try{await h.identityProviders.del({alias:i}),L(t("deletedSuccess"),B.success),O(Te({realm:S}))}catch(r){N("identity-providers:deleteErrorError",r)}}}),[xe,ge]=q({titleKey:"identity-providers:deleteProviderMapper",messageKey:t("identity-providers:deleteMapperConfirm",{mapper:n?.name}),continueButtonLabel:"common:delete",continueButtonVariant:Q.danger,onConfirm:async()=>{try{await h.identityProviders.delMapper({alias:i,id:n?.mapperId}),L(t("deleteMapperSuccess"),B.success),de(),O(X({providerId:s,alias:i,tab:"mappers",realm:S}))}catch(r){N("identity-providers:deleteErrorError",r)}}});if(!c)return e.jsx(ke,{});const R=c.providerId.includes("oidc"),I=c.providerId.includes("saml"),ye=async()=>{const[r,g]=await Promise.all([h.identityProviders.findMappers({alias:i}),h.identityProviders.findMapperTypes({alias:i})]);return r.map(V=>{const W=Object.values(g).find(be=>V.identityProviderMapper===be.id);return{...W,name:V.name,type:W?.name,mapperId:V.id}})},he=[{title:t("generalSettings"),panel:e.jsxs(E,{role:"manage-identity-providers",isHorizontal:!0,onSubmit:o(k),children:[!R&&!I&&e.jsxs(e.Fragment,{children:[e.jsx(Ze,{create:!1,id:i}),z&&e.jsx(Pe,{properties:z.properties})]}),R&&e.jsx(Je,{id:i}),I&&e.jsx(_e,{id:i,isAliasReadonly:!0})]})},{title:t("oidcSettings"),isHidden:!R,panel:e.jsxs(e.Fragment,{children:[e.jsx(We,{readOnly:!1}),e.jsxs(ne,{isHorizontal:!0,className:"pf-u-py-lg",children:[e.jsx(Re,{}),e.jsx(Qe,{create:!1})]}),e.jsx(st,{})]})},{title:t("samlSettings"),isHidden:!I,panel:e.jsx($e,{readOnly:!1})},{title:t("reqAuthnConstraints"),isHidden:!I,panel:e.jsx(E,{role:"manage-identity-providers",isHorizontal:!0,onSubmit:o(k),children:e.jsx(rt,{})})},{title:t("advancedSettings"),panel:e.jsxs(E,{role:"manage-identity-providers",isHorizontal:!0,onSubmit:o(k),children:[e.jsx(tt,{isOIDC:R,isSAML:I}),e.jsx(Ve,{name:"idp-details",isSubmit:!0,reset:p})]})}];return e.jsxs(we,{...a,children:[e.jsx(fe,{}),e.jsx(ge,{}),e.jsx(j,{name:"enabled",control:a.control,defaultValue:!0,render:({field:r})=>e.jsx(ot,{value:r.value||!1,onChange:r.onChange,save:k,toggleDeleteDialog:ue})}),e.jsx(Me,{variant:"light",className:"pf-u-p-0",children:e.jsxs(Ae,{isBox:!0,defaultLocation:$("settings"),children:[e.jsx(A,{id:"settings",title:e.jsx(K,{children:t("common:settings")}),...ce,children:e.jsx(qe,{className:"pf-u-px-lg",sections:he})}),e.jsx(A,{id:"mappers","data-testid":"mappers-tab",title:e.jsx(K,{children:t("common:mappers")}),...pe,children:e.jsx(He,{emptyState:e.jsx(Be,{message:t("identity-providers:noMappers"),instructions:t("identity-providers:noMappersInstructions"),primaryActionText:t("identity-providers:addMapper"),onPrimaryAction:()=>O(Y({realm:S,alias:i,providerId:c.providerId,tab:"mappers"}))}),loader:ye,ariaLabelKey:"identity-providers:mappersList",searchPlaceholderKey:"identity-providers:searchForMapper",toolbarItem:e.jsx(et,{children:e.jsx(De,{id:"add-mapper-button",component:r=>e.jsx(oe,{...r,to:Y({realm:S,alias:i,providerId:c.providerId,tab:"mappers"})}),"data-testid":"addMapper",children:t("addMapper")})}),columns:[{name:"name",displayKey:"common:name",cellRenderer:r=>e.jsx(at,{...r,provider:c})},{name:"category",displayKey:"common:category"},{name:"type",displayKey:"common:type"}],actions:[{title:t("common:delete"),onRowClick:r=>{f(r),xe()}}]},_)}),d(ze.AdminFineGrainedAuthz)&&e.jsx(A,{id:"permissions","data-testid":"permissionsTab",title:e.jsx(K,{children:t("common:permissions")}),...me,children:e.jsx(Ee,{id:i,type:"identityProviders"})})]})})]})}export{Ci as default};
//# sourceMappingURL=DetailSettings-552bb5b3.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy