Unverified Commit 009f4956 authored by Query&mut NinjaStyle, &Ryder's avatar Query&mut NinjaStyle, &Ryder Committed by GitHub

fix: check IdP for disallow password auth

* fix #4144 now when there is no sso then the Disallow password auth is disabled

* fixed the import issue

* attempt fixing linting issues

---------
Co-authored-by: 's avatarpransh62390 <63577123+pransh62390@users.noreply.github.com>
parent 73d13cb9
This diff is collapsed.
...@@ -5,7 +5,9 @@ import { ExternalLinkIcon } from "lucide-react"; ...@@ -5,7 +5,9 @@ import { ExternalLinkIcon } from "lucide-react";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { toast } from "react-hot-toast"; import { toast } from "react-hot-toast";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import { identityProviderServiceClient } from "@/grpcweb";
import { workspaceSettingNamePrefix, useWorkspaceSettingStore } from "@/store/v1"; import { workspaceSettingNamePrefix, useWorkspaceSettingStore } from "@/store/v1";
import { IdentityProvider } from "@/types/proto/api/v1/idp_service";
import { WorkspaceGeneralSetting } from "@/types/proto/api/v1/workspace_setting_service"; import { WorkspaceGeneralSetting } from "@/types/proto/api/v1/workspace_setting_service";
import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting"; import { WorkspaceSettingKey } from "@/types/proto/store/workspace_setting";
import { useTranslate } from "@/utils/i18n"; import { useTranslate } from "@/utils/i18n";
...@@ -18,6 +20,7 @@ const WorkspaceSection = () => { ...@@ -18,6 +20,7 @@ const WorkspaceSection = () => {
workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.GENERAL)?.generalSetting || {}, workspaceSettingStore.getWorkspaceSettingByKey(WorkspaceSettingKey.GENERAL)?.generalSetting || {},
); );
const [workspaceGeneralSetting, setWorkspaceGeneralSetting] = useState<WorkspaceGeneralSetting>(originalSetting); const [workspaceGeneralSetting, setWorkspaceGeneralSetting] = useState<WorkspaceGeneralSetting>(originalSetting);
const [identityProviderList, setIdentityProviderList] = useState<IdentityProvider[]>([]);
useEffect(() => { useEffect(() => {
setWorkspaceGeneralSetting(originalSetting); setWorkspaceGeneralSetting(originalSetting);
...@@ -50,6 +53,15 @@ const WorkspaceSection = () => { ...@@ -50,6 +53,15 @@ const WorkspaceSection = () => {
toast.success(t("message.update-succeed")); toast.success(t("message.update-succeed"));
}; };
useEffect(() => {
fetchIdentityProviderList();
}, []);
const fetchIdentityProviderList = async () => {
const { identityProviders } = await identityProviderServiceClient.listIdentityProviders({});
setIdentityProviderList(identityProviders);
};
return ( return (
<div className="w-full flex flex-col gap-2 pt-2 pb-4"> <div className="w-full flex flex-col gap-2 pt-2 pb-4">
<p className="font-medium text-gray-700 dark:text-gray-500">{t("common.basic")}</p> <p className="font-medium text-gray-700 dark:text-gray-500">{t("common.basic")}</p>
...@@ -115,6 +127,7 @@ const WorkspaceSection = () => { ...@@ -115,6 +127,7 @@ const WorkspaceSection = () => {
<div className="w-full flex flex-row justify-between items-center"> <div className="w-full flex flex-row justify-between items-center">
<span>{t("setting.workspace-section.disallow-password-auth")}</span> <span>{t("setting.workspace-section.disallow-password-auth")}</span>
<Switch <Switch
disabled={identityProviderList.length === 0 ? true : false}
checked={workspaceGeneralSetting.disallowPasswordAuth} checked={workspaceGeneralSetting.disallowPasswordAuth}
onChange={(event) => updatePartialSetting({ disallowPasswordAuth: event.target.checked })} onChange={(event) => updatePartialSetting({ disallowPasswordAuth: event.target.checked })}
/> />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment