/* * Copyright OpenSearch Contributors * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ import React, { useState } from 'react'; import { EuiPageHeader, EuiSpacer, EuiTitle } from '@elastic/eui'; import { isEmpty } from 'lodash'; import { AuthenticationSequencePanel } from './authentication-sequence-panel'; import { AuthorizationPanel } from './authorization-panel'; import { DocLinks } from '../../constants'; import { AppDependencies } from '../../../types'; import { ExternalLinkButton } from '../../utils/display-utils'; import { getSecurityConfig } from '../../utils/auth-view-utils'; import { InstructionView } from './instruction-view'; export function AuthView(props: AppDependencies) { const [authentication, setAuthentication] = React.useState([]); const [authorization, setAuthorization] = React.useState([]); const [loading, setLoading] = useState(false); React.useEffect(() => { const fetchData = async () => { try { setLoading(true); const config = await getSecurityConfig(props.coreStart.http); setAuthentication(config.authc); setAuthorization(config.authz); } catch (e) { console.log(e); } finally { setLoading(false); } }; fetchData(); }, [props.coreStart.http]); if (isEmpty(authentication)) { return ; } return ( <>

Authentication and authorization

{props.config.ui.backend_configurable && ( )}
{/* @ts-ignore */} {/* @ts-ignore */} ); }