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

theme.keycloak.v2.admin.resources.assets.DetailSettings-1f7554b4.js Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
import{u as C,a as D,r as g,Q as ve,j as e,C as j,S as je,F as h,h as v,V as y,q as U,g as b,e as Ce,W as Se,d as Ie,b as Fe,c as se,l as Q,A as E,bM as Te,bN as X,K as ke,X as Re,f as we,P as Me,bO as Y,B as De,L as re,at as Ne,G as Pe,bP as Le}from"./index-831988f6.js";import{u as H}from"./ConfirmDialog-927d61dd.js";import{D as Oe}from"./DynamicComponents-40ae4a49.js";import{F as Ve}from"./FixedButtonGroup-6fbbee98.js";import{F as A}from"./FormAccess-589a8032.js";import{L as Be}from"./PaginatingTableToolbar-c55a17f1.js";import{P as Ee}from"./PermissionTab-952802f9.js";import{R as Ae,u as Ke}from"./RoutableTabs-8afbc312.js";import{S as qe}from"./ScrollForm-4efa2caf.js";import{K as He}from"./KeycloakDataTable-2267a354.js";import{V as Ge}from"./ViewHeader-2b1ad3ef.js";import{u as Ue,F as ze}from"./useIsFeatureEnabled-d2f044ea.js";import{u as z}from"./useParams-6d64d61e.js";import{T as G,S as u,F as ae}from"./discovery-settings-0e7750f9.js";import{K as Z}from"./KeycloakTextInput-ead44014.js";import{S as N,a as P,b as k}from"./Select-9c61d949.js";import{S as _e,D as $e}from"./SamlGeneralSettings-202dd741.js";import{O as Je,D as We,a as Qe}from"./OIDCGeneralSettings-b1789c5f.js";import{E as Xe}from"./ExpandableSection-4ded5b10.js";import{F as ne}from"./Form-bd3cf98e.js";import{N as Ye}from"./NumberInput-25f268d9.js";import{G as Ze}from"./GeneralSettings-e9918345.js";import{M as ee}from"./MultiLineInput-6564e881.js";import{a as K,b as q}from"./Tabs-f8972b46.js";import{b as et}from"./ToolbarContent-186be8fd.js";import"./Modal-5d8a3df4.js";import"./ClientSelect-a86c8c66.js";import"./FileUpload-bcd6c3a5.js";import"./CodeEditor-09988f1c.js";import"./copy-icon-476b0d6d.js";import"./EmptyStateBody-dd392e69.js";import"./EmptyStateSecondaryActions-3d9f7969.js";import"./GroupPickerDialog-71e86661.js";import"./admin-ui-endpoint-cc06c193.js";import"./getAuthorizationHeaders-f2376d1a.js";import"./DataListItemRow-e4e4ea8b.js";import"./data-list-7d55714c.js";import"./grip-vertical-icon-0333850c.js";import"./ActionListItem-90f0e72b.js";import"./Flex-65bed60e.js";import"./FlexItem-1a5a46b8.js";import"./minus-circle-icon-d374d13f.js";import"./plus-circle-icon-3c14c705.js";import"./PasswordInput-8b14c85c.js";import"./useToggle-039c9b34.js";import"./AddRoleMappingModal-e0605cd7.js";import"./useLocaleSort-6d6b4eec.js";import"./resource-edcf6e4d.js";import"./filter-icon-5bbef384.js";import"./Td-bb613d18.js";import"./star-icon-f5649401.js";import"./check-fc57dbe1.js";import"./Checkbox-d44d2684.js";import"./KeycloakTextArea-3e2614e3.js";import"./GridItem-2c75fd83.js";import"./TableToolbar-af5dff6f.js";import"./Trans-a7161087.js";import"./Card-f255349a.js";import"./CardTitle-234a430a.js";import"./CardBody-7b8c88cd.js";import"./FormPanel-c74fde48.js";import"./CardHeader-e4f1d51b.js";import"./Text-2a2c2dcc.js";import"./DisplayOrder-8e5ff983.js";import"./ClientIdSecret-71fe0c2a.js";import"./minus-icon-9c8a6df2.js";import"./plus-icon-1b237b1a.js";import"./MenuList-d75eeee8.js";const te=({field:t,label:i,defaultValue:o})=>{const{t:d}=C("identity-providers"),{control:a}=D(),[r,l]=g.useState(),[p,c]=g.useState(!1);return U(()=>b.authenticationManagement.getFlows(),m=>l(m.filter(n=>n.providerId==="basic-flow")),[]),e.jsx(h,{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:o,control:a,render:({field:m})=>e.jsx(N,{toggleId:i,required:!0,onToggle:()=>c(!p),onSelect:(n,x)=>{m.onChange(x),c(!1)},selections:m.value||d("common:none"),variant:P.single,"aria-label":d(i),isOpen:p,children:[...o===""?[e.jsx(k,{value:"",children:d("common:none")},"empty")]:[],...r?.map(n=>e.jsx(k,{selected:n.alias===m.value,value:n.alias,children:n.alias},n.id))||[]]})})})},ie=["import","legacy","force"],tt=({isOIDC:t,isSAML:i})=>{const{t:o}=C("identity-providers"),{control:d,register:a,formState:{errors:r}}=D(),[l,p]=g.useState(!1),m=ve({control:d,name:"config.filteredByClaim",defaultValue:"false"})==="true";return e.jsxs(e.Fragment,{children:[!t&&!i&&e.jsx(G,{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:o("common:on"),labelOff:o("common:off"),isChecked:n.value==="true",onChange:x=>{n.onChange(x.toString())}})})}),(!i||t)&&m&&e.jsxs(e.Fragment,{children:[e.jsx(h,{label:o("identity-providers:claimFilterName"),labelIcon:e.jsx(v,{helpText:o("identity-providers-help:claimFilterName"),fieldLabelId:"identity-providers:claimFilterName"}),fieldId:"kc-claim-filter-name",isRequired:!0,validated:r.config?.claimFilterName?y.error:y.default,helperTextInvalid:o("common:required"),children:e.jsx(Z,{isRequired:!0,id:"kc-claim-filter-name","data-testid":"claimFilterName",validated:r.config?.claimFilterName?y.error:y.default,...a("config.claimFilterName",{required:!0})})}),e.jsx(h,{label:o("identity-providers:claimFilterValue"),labelIcon:e.jsx(v,{helpText:o("identity-providers-help:claimFilterValue"),fieldLabelId:"identity-providers:claimFilterName"}),fieldId:"kc-claim-filter-value",isRequired:!0,validated:r.config?.claimFilterValue?y.error:y.default,helperTextInvalid:o("common:required"),children:e.jsx(Z,{isRequired:!0,id:"kc-claim-filter-value","data-testid":"claimFilterValue",validated:r.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(h,{className:"pf-u-pb-3xl",label:o("syncMode"),labelIcon:e.jsx(v,{helpText:o("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(N,{toggleId:"syncMode",required:!0,direction:"up",onToggle:()=>p(!l),onSelect:(x,R)=>{n.onChange(R),p(!1)},selections:o(`syncModes.${n.value.toLowerCase()}`),variant:P.single,"aria-label":o("syncMode"),isOpen:l,children:ie.map(x=>e.jsx(k,{selected:x===n.value,value:x.toUpperCase(),children:o(`syncModes.${x}`)},x))})})})]})},it={unspecified:"",none:"none",consent:"consent",login:"login",select_account:"select_account"},ot=()=>{const{t}=C("identity-providers"),{control:i}=D(),[o,d]=g.useState(!1),[a,r]=g.useState(!1);return e.jsx(Xe,{toggleText:t("advanced"),onToggle:()=>d(!o),isExpanded:o,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(u,{field:"config.disableNonce",label:"disableNonce"}),e.jsx(G,{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(N,{toggleId:"prompt",required:!0,onToggle:()=>r(!a),onSelect:(p,c)=>{l.onChange(c),r(!1)},selections:l.value||t("prompts.unspecified"),variant:P.single,"aria-label":t("prompt"),isOpen:a,children:Object.entries(it).map(([p,c])=>e.jsx(k,{selected:c===l.value,value:c,children:t(`prompts.${p}`)},p))})})}),e.jsx(u,{field:"config.acceptsPromptNoneForwardFromClient",label:"acceptsPromptNone"}),e.jsx(h,{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(G,{field:"config.forwardParameters",label:"forwardParameters"})]})})},oe=["exact","minimum","maximum","better"],st=()=>{const{t}=C("identity-providers"),{control:i}=D(),[o,d]=g.useState(!1);return e.jsxs(e.Fragment,{children:[e.jsx(h,{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:oe[0],control:i,render:({field:a})=>e.jsx(N,{toggleId:"comparison",required:!0,direction:"up",onToggle:r=>d(r),onSelect:(r,l)=>{a.onChange(l.toString()),d(!1)},selections:a.value,variant:P.single,"aria-label":t("comparison"),isOpen:o,children:oe.map(r=>e.jsx(k,{selected:r===a.value,value:r,children:t(r)},r))})})}),e.jsx(h,{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(h,{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"})})]})},rt=({onChange:t,value:i,save:o,toggleDeleteDialog:d})=>{const{t:a}=C("identity-providers"),{alias:r}=z(),[l,p]=g.useState();U(()=>b.identityProviders.findOne({alias:r}),n=>{if(!n)throw new Error(a("common:notFound"));p(n)},[]);const[c,m]=H({titleKey:"identity-providers:disableProvider",messageKey:a("disableConfirm",{provider:r}),continueButtonLabel:"common:disable",onConfirm:()=>{t(!i),o()}});return e.jsxs(e.Fragment,{children:[e.jsx(m,{}),e.jsx(Ge,{titleKey:Ne(l?l.displayName?l.displayName:l.providerId:""),divider:!1,dropdownItems:[e.jsx(Pe,{onClick:()=>d(),children:a("common:delete")},"delete")],isEnabled:i,onToggle:n=>{n?(t(n),o()):c()}})]})},at=({name:t,mapperId:i,provider:o})=>{const{realm:d}=se(),{alias:a}=z();return e.jsx(re,{to:Le({realm:d,alias:a,providerId:o?.providerId,id:i}),children:t})};function Ci(){const{t}=C("identity-providers"),{alias:i,providerId:o}=z(),d=Ue(),a=Ce(),{handleSubmit:r,getValues:l,reset:p}=a,[c,m]=g.useState(),[n,x]=g.useState(),R=Se(),_=g.useMemo(()=>{const s=["org.keycloak.broker.social.SocialIdentityProvider","org.keycloak.broker.provider.IdentityProvider"];for(const f of s){const F=R.componentTypes?.[f]?.find(({id:T})=>T===o);if(F)return F}},[R,o]),{addAlert:L,addError:O}=Ie(),V=Fe(),{realm:S}=se(),[$,le]=g.useState(0),de=()=>le($+1);U(()=>b.identityProviders.findOne({alias:i}),s=>{if(!s)throw new Error(t("common:notFound"));p(s),m(s),s.config.authnContextClassRefs&&a.setValue("config.authnContextClassRefs",JSON.parse(s.config?.authnContextClassRefs)),s.config.authnContextDeclRefs&&a.setValue("config.authnContextDeclRefs",JSON.parse(s.config?.authnContextDeclRefs))},[]);const J=s=>X({realm:S,alias:i,providerId:o,tab:s}),B=s=>Ke(J(s)),ce=B("settings"),pe=B("mappers"),me=B("permissions"),w=async s=>{const f=s||l();f.config?.authnContextClassRefs&&(f.config.authnContextClassRefs=JSON.stringify(f.config.authnContextClassRefs)),f.config?.authnContextDeclRefs&&(f.config.authnContextDeclRefs=JSON.stringify(f.config.authnContextDeclRefs));try{await b.identityProviders.update({alias:i},{...f,config:{...c?.config,...f.config},alias:i,providerId:o}),L(t("updateSuccess"),E.success)}catch(F){O("identity-providers:updateError",F)}},[ue,fe]=H({titleKey:"identity-providers:deleteProvider",messageKey:t("identity-providers:deleteConfirm",{provider:i}),continueButtonLabel:"common:delete",continueButtonVariant:Q.danger,onConfirm:async()=>{try{await b.identityProviders.del({alias:i}),L(t("deletedSuccess"),E.success),V(Te({realm:S}))}catch(s){O("identity-providers:deleteErrorError",s)}}}),[xe,ge]=H({titleKey:"identity-providers:deleteProviderMapper",messageKey:t("identity-providers:deleteMapperConfirm",{mapper:n?.name}),continueButtonLabel:"common:delete",continueButtonVariant:Q.danger,onConfirm:async()=>{try{await b.identityProviders.delMapper({alias:i,id:n?.mapperId}),L(t("deleteMapperSuccess"),E.success),de(),V(X({providerId:o,alias:i,tab:"mappers",realm:S}))}catch(s){O("identity-providers:deleteErrorError",s)}}});if(!c)return e.jsx(ke,{});const M=c.providerId.includes("oidc"),I=c.providerId.includes("saml"),ye=async()=>{const[s,f]=await Promise.all([b.identityProviders.findMappers({alias:i}),b.identityProviders.findMapperTypes({alias:i})]);return s.map(T=>{const W=Object.values(f).find(he=>T.identityProviderMapper===he.id);return{...W,name:T.name,type:W?.name,mapperId:T.id}})},be=[{title:t("generalSettings"),panel:e.jsxs(A,{role:"manage-identity-providers",isHorizontal:!0,onSubmit:r(w),children:[!M&&!I&&e.jsxs(e.Fragment,{children:[e.jsx(Ze,{create:!1,id:i}),_&&e.jsx(Oe,{properties:_.properties})]}),M&&e.jsx(Je,{id:i}),I&&e.jsx(_e,{id:i,isAliasReadonly:!0})]})},{title:t("oidcSettings"),isHidden:!M,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(ot,{})]})},{title:t("samlSettings"),isHidden:!I,panel:e.jsx($e,{readOnly:!1})},{title:t("reqAuthnConstraints"),isHidden:!I,panel:e.jsx(A,{role:"manage-identity-providers",isHorizontal:!0,onSubmit:r(w),children:e.jsx(st,{})})},{title:t("advancedSettings"),panel:e.jsxs(A,{role:"manage-identity-providers",isHorizontal:!0,onSubmit:r(w),children:[e.jsx(tt,{isOIDC:M,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:s})=>e.jsx(rt,{value:s.value||!1,onChange:s.onChange,save:w,toggleDeleteDialog:ue})}),e.jsx(Me,{variant:"light",className:"pf-u-p-0",children:e.jsxs(Ae,{isBox:!0,defaultLocation:J("settings"),children:[e.jsx(K,{id:"settings",title:e.jsx(q,{children:t("common:settings")}),...ce,children:e.jsx(qe,{className:"pf-u-px-lg",sections:be})}),e.jsx(K,{id:"mappers","data-testid":"mappers-tab",title:e.jsx(q,{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:()=>V(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:s=>e.jsx(re,{...s,to:Y({realm:S,alias:i,providerId:c.providerId,tab:"mappers"})}),"data-testid":"addMapper",children:t("addMapper")})}),columns:[{name:"name",displayKey:"common:name",cellRenderer:s=>e.jsx(at,{...s,provider:c})},{name:"category",displayKey:"common:category"},{name:"type",displayKey:"common:type"}],actions:[{title:t("common:delete"),onRowClick:s=>{x(s),xe()}}]},$)}),d(ze.AdminFineGrainedAuthz)&&e.jsx(K,{id:"permissions","data-testid":"permissionsTab",title:e.jsx(q,{children:t("common:permissions")}),...me,children:e.jsx(Ee,{id:i,type:"identityProviders"})})]})})]})}export{Ci as default};
//# sourceMappingURL=DetailSettings-1f7554b4.js.map




© 2015 - 2024 Weber Informatics LLC | Privacy Policy