diff --git a/client/src/components/InputsModal/AuthSettings.ts b/client/src/components/InputsModal/AuthSettings.ts index cf750dfe7..fedfd9be5 100644 --- a/client/src/components/InputsModal/AuthSettings.ts +++ b/client/src/components/InputsModal/AuthSettings.ts @@ -77,6 +77,7 @@ export const getAuthFields = ( }, { name: 'requested_scopes', + type: 'textarea', title: 'Scopes', description: 'OAuth 2.0 scopes needed to enable all required functionality', }, diff --git a/client/src/components/InputsModal/AuthTypeSelector.tsx b/client/src/components/InputsModal/AuthTypeSelector.tsx index 2e016c431..770d2adff 100644 --- a/client/src/components/InputsModal/AuthTypeSelector.tsx +++ b/client/src/components/InputsModal/AuthTypeSelector.tsx @@ -10,8 +10,12 @@ export interface InputAccessProps { } const AuthTypeSelector: FC = ({ input, index, inputsMap, setInputsMap }) => { - const selectorSettings = input.options?.components - ? input.options?.components[0] + const authComponent = input.options?.components?.find( + (component) => component.name === 'auth_type', + ); + + const selectorSettings = authComponent + ? authComponent : // Default auth type settings { name: 'auth_type', diff --git a/client/src/components/InputsModal/InputAccess.tsx b/client/src/components/InputsModal/InputAccess.tsx index 936235437..6471c787f 100644 --- a/client/src/components/InputsModal/InputAccess.tsx +++ b/client/src/components/InputsModal/InputAccess.tsx @@ -22,9 +22,19 @@ const InputAccess: FC = ({ input, index, inputsMap, setInputsM const [accessValuesPopulated, setAccessValuesPopulated] = React.useState(false); // Default auth type settings + const authComponent = input.options?.components?.find( + (component) => component.name === 'auth_type', + ); + + const firstListOption = + authComponent?.options?.list_options && authComponent?.options?.list_options?.length > 0 + ? authComponent?.options?.list_options[0].value + : undefined; + const [authType, setAuthType] = React.useState( - input.options?.components ? (input.options?.components[0].default as string) : 'public', + (authComponent?.default || firstListOption || 'public') as string, ); + const [accessFields, setAccessFields] = React.useState( getAccessFields(authType as AuthType, accessValues, input.options?.components || []), ); diff --git a/client/src/components/InputsModal/InputAuth.tsx b/client/src/components/InputsModal/InputAuth.tsx index baa0cc922..437b1739b 100644 --- a/client/src/components/InputsModal/InputAuth.tsx +++ b/client/src/components/InputsModal/InputAuth.tsx @@ -21,8 +21,17 @@ const InputAuth: FC = ({ input, index, inputsMap, setInputsMap } const [authValuesPopulated, setAuthValuesPopulated] = React.useState(false); // Default auth type settings + const authComponent = input.options?.components?.find( + (component) => component.name === 'auth_type', + ); + + const firstListOption = + authComponent?.options?.list_options && authComponent?.options?.list_options?.length > 0 + ? authComponent?.options?.list_options[0].value + : undefined; + const [authType, setAuthType] = React.useState( - input.options?.components ? (input.options?.components[0].default as string) : 'public', + (authComponent?.default || firstListOption || 'public') as string, ); const [authFields, setAuthFields] = React.useState(