/*! For license information please see settings-vue-settings-admin-security.js.LICENSE.txt */ !function(){"use strict";var e,n={24470:function(e,n,o){var s=o(16453),r=o(20144),i=o(4820),a=o(7811),c=o.n(a),u=o(96486),l=o.n(u),d=o(79753),f={name:"AdminTwoFactor",components:{Multiselect:c()},data:function(){return{loading:!1,dirty:!1,groups:[],loadingGroups:!1}},computed:{enforced:{get:function(){return this.$store.state.enforced},set:function(t){this.dirty=!0,this.$store.commit("setEnforced",t)}},enforcedGroups:{get:function(){return this.$store.state.enforcedGroups},set:function(t){this.dirty=!0,this.$store.commit("setEnforcedGroups",t)}},excludedGroups:{get:function(){return this.$store.state.excludedGroups},set:function(t){this.dirty=!0,this.$store.commit("setExcludedGroups",t)}}},mounted:function(){this.groups=l().sortedUniq(l().uniq(this.enforcedGroups.concat(this.excludedGroups))),this.searchGroup("")},methods:{searchGroup:l().debounce((function(t){var e=this;this.loadingGroups=!0,i.default.get((0,d.generateOcsUrl)("cloud/groups?offset=0&search={query}&limit=20",{query:t})).then((function(t){return t.data.ocs})).then((function(t){return t.data.groups})).then((function(t){e.groups=l().sortedUniq(l().uniq(e.groups.concat(t)))})).catch((function(t){return console.error("could not search groups",t)})).then((function(){e.loadingGroups=!1}))}),500),saveChanges:function(){var t=this;this.loading=!0;var e={enforced:this.enforced,enforcedGroups:this.enforcedGroups,excludedGroups:this.excludedGroups};i.default.put((0,d.generateUrl)("/settings/api/admin/twofactorauth"),e).then((function(t){return t.data})).then((function(e){t.state=e,t.dirty=!1})).catch((function(t){console.error("could not save changes",t)})).then((function(){t.loading=!1}))}}},p=o(93379),h=o.n(p),g=o(7795),m=o.n(g),v=o(90569),b=o.n(v),w=o(3565),y=o.n(w),x=o(19216),G=o.n(x),A=o(44589),_=o.n(A),C=o(37331),E={};E.styleTagTransform=_(),E.setAttributes=y(),E.insert=b().bind(null,"head"),E.domAPI=m(),E.insertStyleElement=G(),h()(C.Z,E),C.Z&&C.Z.locals&&C.Z.locals;var k=(0,o(51900).Z)(f,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("p",{staticClass:"settings-hint"},[t._v("\n\t\t"+t._s(t.t("settings","Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system."))+"\n\t")]),t._v(" "),t.loading?n("p",[n("span",{staticClass:"icon-loading-small two-factor-loading"}),t._v(" "),n("span",[t._v(t._s(t.t("settings","Enforce two-factor authentication")))])]):n("p",[n("input",{directives:[{name:"model",rawName:"v-model",value:t.enforced,expression:"enforced"}],staticClass:"checkbox",attrs:{id:"two-factor-enforced",type:"checkbox"},domProps:{checked:Array.isArray(t.enforced)?t._i(t.enforced,null)>-1:t.enforced},on:{change:function(e){var n=t.enforced,o=e.target,s=!!o.checked;if(Array.isArray(n)){var r=t._i(n,null);o.checked?r<0&&(t.enforced=n.concat([null])):r>-1&&(t.enforced=n.slice(0,r).concat(n.slice(r+1)))}else t.enforced=s}}}),t._v(" "),n("label",{attrs:{for:"two-factor-enforced"}},[t._v(t._s(t.t("settings","Enforce two-factor authentication")))])]),t._v(" "),t.enforced?[n("h3",[t._v(t._s(t.t("settings","Limit to groups")))]),t._v("\n\t\t"+t._s(t.t("settings","Enforcement of two-factor authentication can be set for certain groups only."))+"\n\t\t"),n("p",[t._v("\n\t\t\t"+t._s(t.t("settings","Two-factor authentication is enforced for all members of the following groups."))+"\n\t\t")]),t._v(" "),n("p",[n("Multiselect",{attrs:{options:t.groups,placeholder:t.t("settings","Enforced groups"),disabled:t.loading,multiple:!0,searchable:!0,loading:t.loadingGroups,"show-no-options":!1,"close-on-select":!1},on:{"search-change":t.searchGroup},model:{value:t.enforcedGroups,callback:function(e){t.enforcedGroups=e},expression:"enforcedGroups"}})],1),t._v(" "),n("p",[t._v("\n\t\t\t"+t._s(t.t("settings","Two-factor authentication is not enforced for members of the following groups."))+"\n\t\t")]),t._v(" "),n("p",[n("Multiselect",{attrs:{options:t.groups,placeholder:t.t("settings","Excluded groups"),disabled:t.loading,multiple:!0,searchable:!0,loading:t.loadingGroups,"show-no-options":!1,"close-on-select":!1},on:{"search-change":t.searchGroup},model:{value:t.excludedGroups,callback:function(e){t.excludedGroups=e},expression:"excludedGroups"}})],1),t._v(" "),n("p",[n("em",[t._v("\n\t\t\t\t"+t._s(t.t("settings","When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced."))+"\n\t\t\t")])])]:t._e(),t._v(" "),n("p",[t.dirty?n("button",{staticClass:"button primary",attrs:{disabled:t.loading},on:{click:t.saveChanges}},[t._v("\n\t\t\t"+t._s(t.t("settings","Save changes"))+"\n\t\t")]):t._e()])],2)}),[],!1,null,null,null).exports,O=o(20629);r.default.use(O.ZP);var T={setEnforced:function(t,e){r.default.set(t,"enforced",e)},setEnforcedGroups:function(t,e){r.default.set(t,"enforcedGroups",e)},setExcludedGroups:function(t,e){r.default.set(t,"excludedGroups",e)}},q=new O.yh({strict:!1,state:{enforced:!1,enforcedGroups:[],excludedGroups:[]},mutations:T});o.nc=btoa(OC.requestToken),r.default.prototype.t=t,window.OC=window.OC||{},window.OC.Settings=window.OC.Settings||{},q.replaceState((0,s.loadState)("settings","mandatory2FAState")),new(r.default.extend(k))({store:q}).$mount("#two-factor-auth-settings")},37331:function(t,e,n){var o=n(94015),s=n.n(o),r=n(23645),i=n.n(r)()(s());i.push([t.id,"\n.two-factor-loading {\n\tdisplay: inline-block;\n\tvertical-align: sub;\n\tmargin-left: -2px;\n\tmargin-right: 1px;\n}\n","",{version:3,sources:["webpack://./apps/settings/src/components/AdminTwoFactor.vue"],names:[],mappings:";AA+JA;CACA,qBAAA;CACA,mBAAA;CACA,iBAAA;CACA,iBAAA;AACA",sourcesContent:["\n\n