VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /opt/mattermost/client/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/mattermost/client/8058.f2672e2510fa7160ea6b.js.map
{"version":3,"file":"8058.f2672e2510fa7160ea6b.js","mappings":"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","sources":["webpack://mattermost-webapp/./src/components/claim/components/error_label.tsx","webpack://mattermost-webapp/./src/components/claim/components/email_to_ldap.tsx","webpack://mattermost-webapp/./src/components/claim/components/email_to_oauth.tsx","webpack://mattermost-webapp/./src/components/claim/components/ldap_to_email.tsx","webpack://mattermost-webapp/./src/components/claim/components/oauth_to_email.tsx","webpack://mattermost-webapp/./src/components/claim/claim_controller.tsx","webpack://mattermost-webapp/./src/components/claim/index.ts","webpack://mattermost-webapp/./src/components/common/back_button.tsx","webpack://mattermost-webapp/./src/components/header_footer_route/content_layouts/column.tsx","webpack://mattermost-webapp/./src/components/common/svg_images_components/shield_with_checkmark.tsx","webpack://mattermost-webapp/./src/components/login/login_mfa.tsx","webpack://mattermost-webapp/./src/utils/password.tsx"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React, {memo} from 'react';\n\ntype ErrorLabelProps = {\n    errorText?: string | JSX.Element;\n}\n\nconst ErrorLabel = ({errorText}: ErrorLabelProps) => (errorText ? (\n    <div className='form-group has-error'>\n        <label className='control-label'>{errorText}</label>\n    </div>\n) : null);\n\nexport default memo(ErrorLabel);\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React, {useRef} from 'react';\nimport {FormattedMessage, useIntl} from 'react-intl';\n\nimport type {AuthChangeResponse} from '@mattermost/types/users';\n\nimport {emailToLdap} from 'actions/admin_actions.jsx';\n\nimport LoginMfa from 'components/login/login_mfa';\n\nimport {ClaimErrors} from 'utils/constants';\n\nimport ErrorLabel from './error_label';\n\ntype Props = {\n    email: string | null;\n    siteName?: string;\n    ldapLoginFieldName?: string;\n}\n\nexport type SubmitOptions = {\n    loginId: string;\n    password: string;\n    token?: string;\n    ldapIdParam?: string;\n    ldapPasswordParam?: string;\n}\n\nconst EmailToLDAP = ({email, siteName, ldapLoginFieldName}: Props) => {\n    const {formatMessage} = useIntl();\n\n    const emailPasswordInput = useRef<HTMLInputElement>(null);\n    const ldapIdInput = useRef<HTMLInputElement>(null);\n    const ldapPasswordInput = useRef<HTMLInputElement>(null);\n\n    const [password, setPassword] = React.useState('');\n    const [ldapId, setLdapId] = React.useState<string>('');\n    const [ldapPassword, setLdapPassword] = React.useState<string>('');\n    const [passwordError, setPasswordError] = React.useState('');\n    const [ldapError, setLdapError] = React.useState('');\n    const [ldapPasswordError, setLdapPasswordError] = React.useState('');\n    const [serverError, setServerError] = React.useState('');\n    const [showMfa, setShowMfa] = React.useState(false);\n\n    const preSubmit = (e: React.FormEvent) => {\n        e.preventDefault();\n\n        const password = emailPasswordInput.current?.value;\n        if (!password) {\n            setPasswordError(formatMessage({id: 'claim.email_to_ldap.pwdError', defaultMessage: 'Please enter your password.'}));\n            setLdapError('');\n            setLdapPasswordError('');\n            setServerError('');\n            return;\n        }\n\n        const ldapId = ldapIdInput.current?.value.trim();\n        if (!ldapId) {\n            setLdapError(formatMessage({id: 'claim.email_to_ldap.ldapIdError', defaultMessage: 'Please enter your AD/LDAP ID.'}));\n            setPasswordError('');\n            setLdapPasswordError('');\n            setServerError('');\n            return;\n        }\n\n        const ldapPassword = ldapPasswordInput.current?.value;\n        if (!ldapPassword) {\n            setLdapPasswordError(formatMessage({id: 'claim.email_to_ldap.ldapPasswordError', defaultMessage: 'Please enter your AD/LDAP password.'}));\n            setLdapError('');\n            setPasswordError('');\n            setServerError('');\n            return;\n        }\n\n        setPassword(password);\n        setLdapId(ldapId);\n        setLdapPassword(ldapPassword);\n\n        if (email) {\n            submit({loginId: email, password, ldapIdParam: ldapId, ldapPasswordParam: ldapPassword});\n        }\n    };\n\n    const submit = ({loginId, password, token = '', ldapIdParam = '', ldapPasswordParam = ''}: SubmitOptions) => {\n        emailToLdap(\n            loginId,\n            password,\n            token,\n            ldapIdParam || ldapId,\n            ldapPasswordParam || ldapPassword,\n            (data: AuthChangeResponse) => {\n                if (data.follow_link) {\n                    window.location.href = data.follow_link;\n                }\n            },\n            (err: {server_error_id: string; id: string; message: string}) => {\n                if (!showMfa && err.server_error_id === ClaimErrors.MFA_VALIDATE_TOKEN_AUTHENTICATE) {\n                    setShowMfa(true);\n                } else {\n                    switch (err.id) {\n                    case ClaimErrors.ENT_LDAP_LOGIN_USER_NOT_REGISTERED:\n                    case ClaimErrors.ENT_LDAP_LOGIN_USER_FILTERED:\n                    case ClaimErrors.ENT_LDAP_LOGIN_MATCHED_TOO_MANY_USERS:\n                        setLdapError(err.message);\n                        setShowMfa(false);\n                        break;\n                    case ClaimErrors.ENT_LDAP_LOGIN_INVALID_PASSWORD:\n                        setLdapPasswordError(err.message);\n                        setShowMfa(false);\n                        break;\n                    case ClaimErrors.API_USER_INVALID_PASSWORD:\n                        setPasswordError(err.message);\n                        setShowMfa(false);\n                        break;\n                    default:\n                        setServerError(err.message);\n                        setShowMfa(false);\n                    }\n                }\n            },\n        );\n    };\n\n    const loginPlaceholder = ldapLoginFieldName || formatMessage({id: 'claim.email_to_ldap.ldapId', defaultMessage: 'AD/LDAP ID'});\n\n    if (showMfa) {\n        return (\n            <LoginMfa\n                loginId={email}\n                password={password}\n                title={formatMessage({id: 'claim.email_to_ldap.title', defaultMessage: 'Switch Email/Password Account to AD/LDAP'})}\n                onSubmit={submit}\n            />\n        );\n    }\n    return (\n        <>\n            <h3>\n                <FormattedMessage\n                    id='claim.email_to_ldap.title'\n                    defaultMessage='Switch Email/Password Account to AD/LDAP'\n                />\n            </h3>\n            <form\n                onSubmit={preSubmit}\n                className={classNames('form-group', {'has-error': serverError})}\n            >\n                <p>\n                    <FormattedMessage\n                        id='claim.email_to_ldap.ssoType'\n                        defaultMessage='Upon claiming your account, you will only be able to login with AD/LDAP'\n                    />\n                </p>\n                <p>\n                    <FormattedMessage\n                        id='claim.email_to_ldap.ssoNote'\n                        defaultMessage='You must already have a valid AD/LDAP account'\n                    />\n                </p>\n                <p>\n                    <FormattedMessage\n                        id='claim.email_to_ldap.enterPwd'\n                        defaultMessage='Enter the password for your {site} email account'\n                        values={{site: siteName}}\n                    />\n                </p>\n                <input\n                    type='text'\n                    className='hidden'\n                    name='fakeusernameremembered'\n                />\n                <div className={classNames('form-group', {'has-error': passwordError})}>\n                    <input\n                        type='password'\n                        className='form-control'\n                        name='emailPassword'\n                        ref={emailPasswordInput}\n                        autoComplete='off'\n                        placeholder={formatMessage({id: 'claim.email_to_ldap.pwd', defaultMessage: 'Password'})}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={passwordError}/>\n                <p>\n                    <FormattedMessage\n                        id='claim.email_to_ldap.enterLdapPwd'\n                        defaultMessage='Enter the ID and password for your AD/LDAP account'\n                    />\n                </p>\n                <div className={classNames('form-group', {'has-error': ldapError})}>\n                    <input\n                        type='text'\n                        className='form-control'\n                        name='ldapId'\n                        ref={ldapIdInput}\n                        autoComplete='off'\n                        placeholder={loginPlaceholder}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={ldapError}/>\n                <div className={classNames('form-group', {'has-error': ldapPasswordError})}>\n                    <input\n                        type='password'\n                        className='form-control'\n                        name='ldapPassword'\n                        ref={ldapPasswordInput}\n                        autoComplete='off'\n                        placeholder={formatMessage({id: 'claim.email_to_ldap.ldapPwd', defaultMessage: 'AD/LDAP Password'})}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={ldapPasswordError}/>\n                <button\n                    type='submit'\n                    className='btn btn-primary'\n                >\n                    <FormattedMessage\n                        id='claim.email_to_ldap.switchTo'\n                        defaultMessage='Switch Account to AD/LDAP'\n                    />\n                </button>\n                <ErrorLabel errorText={serverError}/>\n            </form>\n        </>\n    );\n};\n\nexport default EmailToLDAP;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React, {useState, useRef} from 'react';\nimport {FormattedMessage, useIntl} from 'react-intl';\n\nimport type {AuthChangeResponse} from '@mattermost/types/users';\n\nimport {emailToOAuth} from 'actions/admin_actions.jsx';\n\nimport LoginMfa from 'components/login/login_mfa';\n\nimport Constants, {ClaimErrors} from 'utils/constants';\nimport {toTitleCase} from 'utils/utils';\n\nimport type {SubmitOptions} from './email_to_ldap';\nimport ErrorLabel from './error_label';\n\ntype Props = {\n    newType: string | null;\n    email: string;\n    siteName?: string;\n}\n\nconst EmailToOAuth = (props: Props) => {\n    const {formatMessage} = useIntl();\n\n    const [showMfa, setShowMfa] = useState(false);\n    const [password, setPassword] = useState('');\n    const [serverError, setServerError] = useState<string>('');\n    const passwordInput = useRef<HTMLInputElement>(null);\n\n    const preSubmit = (e: React.FormEvent) => {\n        e.preventDefault();\n\n        const password = passwordInput.current?.value;\n        if (!password) {\n            setServerError(formatMessage({id: 'claim.email_to_oauth.pwdError', defaultMessage: 'Please enter your password.'}));\n            return;\n        }\n\n        setPassword(password);\n\n        setServerError('');\n\n        submit({loginId: props.email, password});\n    };\n\n    const submit = ({loginId, password, token = ''}: SubmitOptions) => {\n        emailToOAuth(\n            loginId,\n            password,\n            token,\n            props.newType,\n            (data: AuthChangeResponse) => {\n                if (data.follow_link) {\n                    window.location.href = data.follow_link;\n                }\n            },\n            (err: {server_error_id: string; message: string}) => {\n                if (!showMfa && err.server_error_id === ClaimErrors.MFA_VALIDATE_TOKEN_AUTHENTICATE) {\n                    setShowMfa(true);\n                } else {\n                    setServerError(err.message);\n                    setShowMfa(false);\n                }\n            },\n        );\n    };\n\n    const type = (props.newType === Constants.SAML_SERVICE ? Constants.SAML_SERVICE.toUpperCase() : toTitleCase(props.newType || ''));\n    const uiType = `${type} SSO`;\n\n    if (showMfa) {\n        return (\n            <LoginMfa\n                loginId={props.email}\n                password={password}\n                title={formatMessage({id: 'claim.email_to_oauth.title', defaultMessage: 'Switch Email/Password Account to {uiType}'})}\n                onSubmit={submit}\n            />\n        );\n    }\n    return (\n        <>\n            <h3>\n                <FormattedMessage\n                    id='claim.email_to_oauth.title'\n                    defaultMessage='Switch Email/Password Account to {uiType}'\n                    values={{uiType}}\n                />\n            </h3>\n            <form onSubmit={preSubmit}>\n                <p>\n                    <FormattedMessage\n                        id='claim.email_to_oauth.ssoType'\n                        defaultMessage='Upon claiming your account, you will only be able to login with {type} SSO'\n                        values={{type}}\n                    />\n                </p>\n                <p>\n                    <FormattedMessage\n                        id='claim.email_to_oauth.ssoNote'\n                        defaultMessage='You must already have a valid {type} account'\n                        values={{type}}\n                    />\n                </p>\n                <p>\n                    <FormattedMessage\n                        id='claim.email_to_oauth.enterPwd'\n                        defaultMessage='Enter the password for your {site} account'\n                        values={{site: props.siteName}}\n                    />\n                </p>\n                <div className={classNames('form-group', {'has-error': serverError})}>\n                    <input\n                        type='password'\n                        className='form-control'\n                        name='password'\n                        ref={passwordInput}\n                        placeholder={formatMessage({id: 'claim.email_to_oauth.pwd', defaultMessage: 'Password'})}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={serverError}/>\n                <button\n                    type='submit'\n                    className='btn btn-primary'\n                >\n                    <FormattedMessage\n                        id='claim.email_to_oauth.switchTo'\n                        defaultMessage='Switch Account to {uiType}'\n                        values={{uiType}}\n                    />\n                </button>\n            </form>\n        </>\n    );\n};\n\nexport default EmailToOAuth;\n\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React, {useRef, useState} from 'react';\nimport {FormattedMessage, useIntl} from 'react-intl';\n\nimport type {AuthChangeResponse} from '@mattermost/types/users';\n\nimport type {ActionResult} from 'mattermost-redux/types/actions';\n\nimport LoginMfa from 'components/login/login_mfa';\n\nimport {ClaimErrors} from 'utils/constants';\nimport {isValidPassword} from 'utils/password';\n\nimport type {SubmitOptions} from './email_to_ldap';\nimport ErrorLabel from './error_label';\n\nimport type {PasswordConfig} from '../claim_controller';\n\ntype Props = {\n    email: string | null;\n    switchLdapToEmail: (ldapPassword: string, email: string, password: string, token: string) => Promise<ActionResult<AuthChangeResponse>>;\n    passwordConfig?: PasswordConfig;\n}\n\nconst LDAPToEmail = (props: Props) => {\n    const [passwordError, setPasswordError] = useState<string | JSX.Element>('');\n    const [confirmError, setConfirmError] = useState('');\n    const [ldapPasswordError, setLdapPasswordError] = useState('');\n    const [serverError, setServerError] = useState('');\n    const [password, setPassword] = useState('');\n    const [ldapPassword, setLdapPassword] = useState('');\n    const [showMfa, setShowMfa] = useState(true);\n\n    const ldapPasswordInput = useRef<HTMLInputElement>(null);\n    const passwordInput = useRef<HTMLInputElement>(null);\n    const passwordConfirmInput = useRef<HTMLInputElement>(null);\n\n    const {formatMessage} = useIntl();\n\n    const preSubmit = (e: React.FormEvent) => {\n        e.preventDefault();\n\n        const ldapPassword = ldapPasswordInput.current?.value;\n        if (!ldapPassword) {\n            setLdapPasswordError(formatMessage({id: 'claim.ldap_to_email.ldapPasswordError', defaultMessage: 'Please enter your AD/LDAP password.'}));\n            setPasswordError('');\n            setConfirmError('');\n            setServerError('');\n            return;\n        }\n\n        const password = passwordInput.current?.value;\n        if (!password) {\n            setPasswordError(formatMessage({id: 'claim.ldap_to_email.pwdError', defaultMessage: 'Please enter your password.'}));\n            setConfirmError('');\n            setLdapPasswordError('');\n            setServerError('');\n            return;\n        }\n\n        if (props.passwordConfig) {\n            const {valid, error} = isValidPassword(password, props.passwordConfig);\n            if (!valid && error) {\n                setPasswordError(error);\n                setConfirmError('');\n                setLdapPasswordError('');\n                setServerError('');\n                return;\n            }\n        }\n\n        const confirmPassword = passwordConfirmInput.current?.value;\n        if (!confirmPassword || password !== confirmPassword) {\n            setConfirmError(formatMessage({id: 'claim.ldap_to_email.pwdNotMatch', defaultMessage: 'Passwords do not match.'}));\n            setPasswordError('');\n            setLdapPasswordError('');\n            setServerError('');\n            return;\n        }\n\n        setPassword(password);\n        setLdapPassword(ldapPassword);\n\n        if (props.email) {\n            submit({loginId: props.email, password, ldapPasswordParam: ldapPassword});\n        }\n    };\n\n    const submit = ({loginId, password, token = '', ldapPasswordParam}: SubmitOptions) => {\n        props.switchLdapToEmail(ldapPasswordParam || ldapPassword, loginId, password, token).then(({data, error: err}) => {\n            if (data?.follow_link) {\n                window.location.href = data.follow_link;\n            } else if (err) {\n                if (err.server_error_id.startsWith('model.user.is_valid.pwd')) {\n                    setPasswordError(err.message);\n                    setShowMfa(false);\n                } else if (err.server_error_id === ClaimErrors.ENT_LDAP_LOGIN_INVALID_PASSWORD) {\n                    setLdapPasswordError(err.message);\n                    setShowMfa(false);\n                } else if (!showMfa && err.server_error_id === ClaimErrors.MFA_VALIDATE_TOKEN_AUTHENTICATE) {\n                    setShowMfa(true);\n                } else {\n                    setServerError(err.message);\n                    setShowMfa(false);\n                }\n            }\n        });\n    };\n\n    if (showMfa) {\n        return (\n            <LoginMfa\n                loginId={props.email}\n                password={password}\n                title={formatMessage({id: 'claim.ldap_to_email.title', defaultMessage: 'Switch AD/LDAP Account to Email/Password'})}\n                onSubmit={submit}\n            />\n        );\n    }\n    return (\n        <>\n            <h3>\n                <FormattedMessage\n                    id='claim.ldap_to_email.title'\n                    defaultMessage='Switch AD/LDAP Account to Email/Password'\n                />\n            </h3>\n            <form\n                onSubmit={preSubmit}\n                className={classNames('form-group', {'has-error': serverError})}\n            >\n                <p>\n                    <FormattedMessage\n                        id='claim.ldap_to_email.email'\n                        defaultMessage='After switching your authentication method, you will use {email} to login. Your AD/LDAP credentials will no longer allow access to Mattermost.'\n                        values={{email: props.email}}\n                    />\n                </p>\n                <p>\n                    <FormattedMessage\n                        id='claim.ldap_to_email.enterLdapPwd'\n                        defaultMessage='AD/LDAP Password:'\n                    />\n                </p>\n                <div className={classNames('form-group', {'has-error': ldapPasswordError})}>\n                    <input\n                        type='password'\n                        className='form-control'\n                        name='ldapPassword'\n                        ref={ldapPasswordInput}\n                        placeholder={formatMessage({id: 'claim.ldap_to_email.ldapPwd', defaultMessage: 'AD/LDAP Password'})}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={ldapPasswordError}/>\n                <p>\n                    <FormattedMessage\n                        id='claim.ldap_to_email.enterPwd'\n                        defaultMessage='New email login password:'\n                    />\n                </p>\n                <div className={classNames('form-group', {'has-error': passwordError})}>\n                    <input\n                        ref={passwordInput}\n                        type='password'\n                        className='form-control'\n                        name='password'\n                        placeholder={formatMessage({id: 'claim.ldap_to_email.pwd', defaultMessage: 'Password'})}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={passwordError}/>\n                <div className={classNames('form-group', {'has-error': confirmError})}>\n                    <input\n                        ref={passwordConfirmInput}\n                        type='password'\n                        className='form-control'\n                        name='passwordconfirm'\n                        placeholder={formatMessage({id: 'claim.ldap_to_email.confirm', defaultMessage: 'Confirm Password'})}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={confirmError}/>\n                <button\n                    type='submit'\n                    className='btn btn-primary'\n                >\n                    <FormattedMessage\n                        id='claim.ldap_to_email.switchTo'\n                        defaultMessage='Switch account to email/password'\n                    />\n                </button>\n                <ErrorLabel errorText={serverError}/>\n            </form>\n        </>\n    );\n};\n\nexport default LDAPToEmail;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React, {useRef, useState} from 'react';\nimport {FormattedMessage, useIntl} from 'react-intl';\n\nimport type {AuthChangeResponse} from '@mattermost/types/users';\n\nimport type {PasswordConfig} from 'mattermost-redux/selectors/entities/general';\n\nimport {oauthToEmail} from 'actions/admin_actions.jsx';\n\nimport Constants from 'utils/constants';\nimport {isValidPassword} from 'utils/password';\nimport {toTitleCase} from 'utils/utils';\n\nimport ErrorLabel from './error_label';\n\ntype Props = {\n    currentType: string | null;\n    email: string | null;\n    siteName?: string;\n    passwordConfig?: PasswordConfig;\n}\n\nconst OAuthToEmail = (props: Props) => {\n    const intl = useIntl();\n    const passwordInput = useRef<HTMLInputElement>(null);\n    const passwordConfirmInput = useRef<HTMLInputElement>(null);\n\n    const [error, setError] = useState<string | JSX.Element>('');\n\n    const submit = (e: React.FormEvent) => {\n        e.preventDefault();\n\n        const password = passwordInput.current?.value;\n        if (!password) {\n            setError(intl.formatMessage({id: 'claim.oauth_to_email.enterPwd', defaultMessage: 'Please enter a password.'}));\n            return;\n        }\n\n        if (props.passwordConfig) {\n            const {valid, error} = isValidPassword(password, props.passwordConfig);\n            if (!valid && error) {\n                setError(error);\n                return;\n            }\n        }\n\n        const confirmPassword = passwordConfirmInput.current?.value;\n        if (!confirmPassword || password !== confirmPassword) {\n            setError(intl.formatMessage({id: 'claim.oauth_to_email.pwdNotMatch', defaultMessage: 'Passwords do not match.'}));\n            return;\n        }\n\n        setError('');\n\n        oauthToEmail(\n            props.currentType,\n            props.email,\n            password,\n            (data: AuthChangeResponse) => {\n                if (data?.follow_link) {\n                    window.location.href = data.follow_link;\n                }\n            },\n            (err: {message: string}) => {\n                setError(err.message);\n            },\n        );\n    };\n\n    const uiType = `${(props.currentType === Constants.SAML_SERVICE ? Constants.SAML_SERVICE.toUpperCase() : toTitleCase(props.currentType || ''))} SSO`;\n\n    return (\n        <>\n            <h3>\n                <FormattedMessage\n                    id='claim.oauth_to_email.title'\n                    defaultMessage='Switch {type} Account to Email'\n                    values={{type: uiType}}\n                />\n            </h3>\n            <form onSubmit={submit}>\n                <p>\n                    <FormattedMessage\n                        id='claim.oauth_to_email.description'\n                        defaultMessage='Upon changing your account type, you will only be able to login with your email and password.'\n                    />\n                </p>\n                <p>\n                    <FormattedMessage\n                        id='claim.oauth_to_email.enterNewPwd'\n                        defaultMessage='Enter a new password for your {site} email account'\n                        values={{site: props.siteName}}\n                    />\n                </p>\n                <div className={classNames('form-group', {'has-error': error})}>\n                    <input\n                        type='password'\n                        className='form-control'\n                        name='password'\n                        ref={passwordInput}\n                        placeholder={intl.formatMessage({\n                            id: 'claim.oauth_to_email.newPwd',\n                            defaultMessage: 'New Password',\n                        })}\n                        spellCheck='false'\n                    />\n                </div>\n                <div className={classNames('form-group', {'has-error': error})}>\n                    <input\n                        type='password'\n                        className='form-control'\n                        name='passwordconfirm'\n                        ref={passwordConfirmInput}\n                        placeholder={intl.formatMessage({\n                            id: 'claim.oauth_to_email.confirm',\n                            defaultMessage: 'Confirm Password',\n                        })}\n                        spellCheck='false'\n                    />\n                </div>\n                <ErrorLabel errorText={error}/>\n                <button\n                    type='submit'\n                    className='btn btn-primary'\n                >\n                    <FormattedMessage\n                        id='claim.oauth_to_email.switchTo'\n                        defaultMessage='Switch {type} to Email and Password'\n                        values={{type: uiType}}\n                    />\n                </button>\n            </form>\n        </>\n    );\n};\n\nexport default OAuthToEmail;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {Route, Switch} from 'react-router-dom';\n\nimport type {AuthChangeResponse} from '@mattermost/types/users';\n\nimport type {ActionResult} from 'mattermost-redux/types/actions';\n\nimport EmailToLDAP from 'components/claim/components/email_to_ldap';\nimport EmailToOAuth from 'components/claim/components/email_to_oauth';\nimport LDAPToEmail from 'components/claim/components/ldap_to_email';\nimport OAuthToEmail from 'components/claim/components/oauth_to_email';\nimport BackButton from 'components/common/back_button';\n\nimport logoImage from 'images/logo.png';\n\nexport interface PasswordConfig {\n    minimumLength: number;\n    requireLowercase: boolean;\n    requireUppercase: boolean;\n    requireNumber: boolean;\n    requireSymbol: boolean;\n}\n\ntype Location = {\n    search: string;\n}\n\nexport type Props = {\n    location: Location;\n    siteName?: string;\n    ldapLoginFieldName?: string;\n    passwordConfig?: PasswordConfig;\n    match: {\n        url: string;\n    };\n    actions: {\n        switchLdapToEmail: (ldapPassword: string, email: string, emailPassword: string, mfaCode?: string) => Promise<ActionResult<AuthChangeResponse>>;\n    };\n}\n\nexport default class ClaimController extends React.PureComponent<Props> {\n    render(): JSX.Element {\n        const email = (new URLSearchParams(this.props.location.search)).get('email');\n        const newType = (new URLSearchParams(this.props.location.search)).get('new_type');\n        const currentType = (new URLSearchParams(this.props.location.search)).get('old_type');\n\n        return (\n            <div>\n                <BackButton/>\n                <div className='col-sm-12'>\n                    <div className='signup-team__container'>\n                        <img\n                            alt={'signup logo'}\n                            className='signup-team-logo'\n                            src={logoImage}\n                        />\n                        <div id='claim'>\n                            <Switch>\n                                <Route\n                                    path={`${this.props.match.url}/oauth_to_email`}\n                                    render={() => (\n                                        <OAuthToEmail\n                                            currentType={currentType}\n                                            email={email}\n                                            siteName={this.props.siteName}\n                                            passwordConfig={this.props.passwordConfig}\n                                        />\n                                    )}\n                                />\n                                <Route\n                                    path={`${this.props.match.url}/email_to_oauth`}\n                                    render={() => (\n                                        <EmailToOAuth\n                                            newType={newType}\n                                            email={email || ''}\n                                            siteName={this.props.siteName}\n                                        />\n                                    )}\n                                />\n                                <Route\n                                    path={`${this.props.match.url}/ldap_to_email`}\n                                    render={() => (\n                                        <LDAPToEmail\n                                            email={email}\n                                            passwordConfig={this.props.passwordConfig}\n                                            switchLdapToEmail={this.props.actions.switchLdapToEmail}\n                                        />\n                                    )}\n                                />\n                                <Route\n                                    path={`${this.props.match.url}/email_to_ldap`}\n                                    render={() => (\n                                        <EmailToLDAP\n                                            email={email}\n                                            siteName={this.props.siteName}\n                                            ldapLoginFieldName={this.props.ldapLoginFieldName}\n                                        />\n                                    )}\n                                />\n                            </Switch>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        );\n    }\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {connect} from 'react-redux';\nimport {bindActionCreators} from 'redux';\nimport type {Dispatch} from 'redux';\n\nimport type {GlobalState} from '@mattermost/types/store';\n\nimport {switchLdapToEmail} from 'mattermost-redux/actions/users';\nimport {getConfig, getPasswordConfig} from 'mattermost-redux/selectors/entities/general';\n\nimport ClaimController from './claim_controller';\n\nfunction mapStateToProps(state: GlobalState) {\n    const config = getConfig(state);\n    const siteName = config.SiteName as string;\n    const ldapLoginFieldName = config.LdapLoginFieldName as string;\n\n    return {\n        siteName,\n        ldapLoginFieldName,\n        passwordConfig: getPasswordConfig(state),\n    };\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n    return {\n        actions: bindActionCreators({\n            switchLdapToEmail,\n        }, dispatch),\n    };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClaimController);\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport {FormattedMessage, useIntl} from 'react-intl';\nimport {Link} from 'react-router-dom';\n\ntype Props = {\n\n    /**\n     * URL to return to\n     */\n    url: string;\n\n    className?: string;\n\n    /**\n     * onClick handler when user clicks back button\n     */\n    onClick?: React.EventHandler<React.MouseEvent>;\n}\n\nconst BackButton = ({url, className, onClick}: Props): JSX.Element => {\n    const {formatMessage} = useIntl();\n\n    return (\n        <div className={classNames('signup-header', className)}>\n            <Link\n                data-testid='back_button'\n                onClick={onClick}\n                to={url}\n            >\n                <span\n                    id='back_button_icon'\n                    className='fa fa-1x fa-angle-left'\n                    title={formatMessage({id: 'generic_icons.back', defaultMessage: 'Back Icon'})}\n                />\n                <FormattedMessage\n                    id='web.header.back'\n                    defaultMessage='Back'\n                />\n            </Link>\n        </div>\n    );\n};\nBackButton.defaultProps = {\n    url: '/',\n};\n\nexport default BackButton;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React, {type ReactNode} from 'react';\n\nimport Constants from 'utils/constants';\n\nimport './column.scss';\n\ntype ColumnProps = {\n    title: ReactNode;\n    message: ReactNode;\n    SVGElement?: React.ReactNode;\n    extraContent?: React.ReactNode;\n    onEnterKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst Column = ({title, message, SVGElement, extraContent, onEnterKeyDown}: ColumnProps) => {\n    const handleOnEnterKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n        if (onEnterKeyDown && e.key === Constants.KeyCodes.ENTER[0]) {\n            onEnterKeyDown(e);\n        }\n    };\n\n    return (\n        <div\n            className='content-layout-column'\n            onKeyDown={handleOnEnterKeyDown}\n            tabIndex={0}\n        >\n            <div className='content-layout-column-svg'>\n                {SVGElement}\n            </div>\n            <h1 className='content-layout-column-title'>\n                {title}\n            </h1>\n            <p className='content-layout-column-message'>\n                {message}\n            </p>\n            {extraContent && (\n                <div className='content-layout-column-extra-content'>\n                    {extraContent}\n                </div>\n            )}\n        </div>\n    );\n};\n\nexport default Column;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\n\ntype SvgProps = {\n    width?: number;\n    height?: number;\n}\n\nconst Svg = (props: SvgProps) => (\n    <svg\n        width={props.width?.toString() || '204'}\n        height={props.height?.toString() || '180'}\n        viewBox='0 0 204 180'\n        fill='none'\n        xmlns='http://www.w3.org/2000/svg'\n    >\n        <g clipPath='url(#clip0_4397_160033)'>\n            <ellipse\n                cx='101.25'\n                cy='89'\n                rx='89.25'\n                ry='89.25'\n                fill='var(--center-channel-color)'\n                fillOpacity='0.08'\n            />\n            <path\n                d='M7.5 75.75L7.5 88.8145L168.261 88.8145L168.261 102.75L192 102.75'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.24'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M151.5 141.75L151.5 119.25L129 119.25'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.24'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <ellipse\n                cx='2.25'\n                cy='2.25'\n                rx='2.25'\n                ry='2.25'\n                transform='matrix(1 8.74228e-08 8.74228e-08 -1 4.5 77.25)'\n                fill='var(--center-channel-color)'\n                fillOpacity='0.48'\n            />\n            <ellipse\n                cx='150.75'\n                cy='144'\n                rx='2.25'\n                ry='2.25'\n                transform='rotate(180 150.75 144)'\n                fill='var(--center-channel-color)'\n                fillOpacity='0.48'\n            />\n            <ellipse\n                cx='2.25'\n                cy='2.25'\n                rx='2.25'\n                ry='2.25'\n                transform='matrix(1 8.74228e-08 8.74228e-08 -1 190.5 104.25)'\n                fill='var(--center-channel-color)'\n                fillOpacity='0.48'\n            />\n            <path\n                d='M100.858 160.405L101.222 160.609L101.588 160.406L109.106 156.227L109.106 156.227C148.812 134.152 157.712 93.1576 161.248 47.6444L161.299 46.9873L160.654 46.8522L160.466 46.8129L160.39 46.797H160.312C141.387 46.797 122.047 39.9873 101.733 21.1994L101.166 20.6749L100.658 21.2572C92.1406 31.0307 84.7227 36.9842 76.2033 40.7408C67.671 44.5031 57.9721 46.0902 44.8319 47.025L44.7996 47.0273L44.7677 47.0323L41.8826 47.4895L41.1953 47.5984L41.2525 48.292C44.981 93.4429 53.7267 134.063 93.0934 156.064L100.858 160.405Z'\n                fill='white'\n                stroke='var(--center-channel-color)'\n                strokeWidth='1.5'\n            />\n            <path\n                d='M43.5 98.25C45.487 104.935 47.8699 111.357 50.748 117.462M52.8704 121.731C57.816 131.172 64.0672 139.782 72.0213 147.346M74.3429 149.481C75.9919 150.947 77.7099 152.37 79.5 153.75'\n                stroke='var(--center-channel-color)'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n                strokeLinejoin='round'\n            />\n            <path\n                d='M101.228 147.75L94.6427 144.164C61.5676 126.159 54.1617 92.9184 51 55.625L53.4468 55.2473C75.7747 53.7002 86.7058 49.9806 101.228 33.75C118.56 49.3634 135.112 55.0605 151.341 55.0605L151.5 55.093C148.502 92.6829 140.965 126.232 107.604 144.298L101.228 147.75Z'\n                fill='var(--center-channel-color)'\n                fillOpacity='0.12'\n            />\n            <path\n                d='M63.8457 76.668H130.029'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M73.7031 85.1172H139.887'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M66.6621 94.9746H132.846'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M79.3359 111.873H110.316'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M58.2129 68.4072H79.3353'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M83.5605 68.4072H114.54'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M118.764 68.4072H145.519'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M99.0498 120.322H125.805'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M79.3359 120.322H94.8257'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M69.4785 103.017H100.458'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M104.684 103.017H131.439'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M63.8447 60.4746H99.0488'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                d='M104.682 60.4746H139.886'\n                stroke='var(--center-channel-color)'\n                strokeOpacity='0.12'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n            />\n            <path\n                fillRule='evenodd'\n                clipRule='evenodd'\n                d='M85.5012 85.3311H117.176C118.642 85.3311 119.826 86.51 119.826 87.9712V99.6265C119.826 109.578 115.362 117.647 105.388 117.647H97.2901C87.3156 117.647 82.8516 109.578 82.8516 99.6265V87.9712C82.8516 86.5149 84.0402 85.3311 85.5012 85.3311ZM100.757 92.1353H99.3511V95.4386V101.25L101.216 103.115L99.3511 104.98V107.443H104.454V97.2944L103.028 95.8686L104.454 94.4429V92.1353H100.757Z'\n                fill='var(--denim-button-bg)'\n            />\n            <path\n                fillRule='evenodd'\n                clipRule='evenodd'\n                d='M110.061 80.4107V85.3905C110.061 85.4206 110.062 85.4503 110.064 85.4795H114.524C114.527 85.4503 114.528 85.4206 114.528 85.3905V80.4107C114.528 72.9522 109.644 66.8818 102.461 66.8818H99.4189C92.2356 66.8818 87.3516 72.9522 87.3516 80.4107V85.3905C87.3516 85.4206 87.3527 85.4503 87.3549 85.4795H91.8069C91.8091 85.4503 91.8102 85.4206 91.8102 85.3905V80.4107C91.8102 75.3359 94.9858 71.471 98.7523 71.471H103.118C107.136 71.471 110.061 75.3359 110.061 80.4107Z'\n                fill='var(--denim-button-bg)'\n            />\n            <path\n                d='M111 23.25C111 23.25 124.759 37.6944 153 42.75'\n                stroke='var(--center-channel-color)'\n                strokeWidth='1.5'\n                strokeLinecap='round'\n                strokeLinejoin='round'\n            />\n        </g>\n        <defs>\n            <clipPath id='clip0_4397_160033'>\n                <rect\n                    width='204'\n                    height='178.5'\n                    fill='white'\n                    transform='translate(0 0.75)'\n                />\n            </clipPath>\n        </defs>\n    </svg>\n);\n\nexport default Svg;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React, {type ReactNode, useState} from 'react';\nimport {useIntl} from 'react-intl';\n\nimport type {SubmitOptions} from 'components/claim/components/email_to_ldap';\nimport ShieldWithCheckmarkSVG from 'components/common/svg_images_components/shield_with_checkmark';\nimport ColumnLayout from 'components/header_footer_route/content_layouts/column';\nimport SaveButton from 'components/save_button';\nimport Input, {SIZE} from 'components/widgets/inputs/input/input';\n\nimport './login_mfa.scss';\n\ntype LoginMfaProps = {\n    loginId: string | null;\n    password: string;\n    title?: ReactNode;\n    subtitle?: ReactNode;\n    onSubmit: ({loginId, password, token}: SubmitOptions) => void;\n}\n\nconst LoginMfa = ({loginId, password, title, subtitle, onSubmit}: LoginMfaProps) => {\n    const {formatMessage} = useIntl();\n\n    const [token, setToken] = useState('');\n    const [saving, setSaving] = useState(false);\n\n    const handleInputOnChange = ({target: {value: token}}: React.ChangeEvent<HTMLInputElement>) => {\n        setToken(token.trim().replace(/\\s/g, ''));\n    };\n\n    const handleSaveButtonOnClick = (e: React.MouseEvent | React.KeyboardEvent) => {\n        e.preventDefault();\n\n        if (!saving) {\n            setSaving(true);\n\n            onSubmit({loginId: loginId || '', password, token});\n        }\n    };\n\n    const onEnterKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n        if (token) {\n            handleSaveButtonOnClick(e);\n        }\n    };\n\n    return (\n        <ColumnLayout\n            title={title || formatMessage({id: 'login_mfa.title', defaultMessage: 'Enter MFA Token'})}\n            message={subtitle || formatMessage({id: 'login_mfa.subtitle', defaultMessage: 'To complete the sign in process, please enter a token from your smartphone\\'s authenticator'})}\n            SVGElement={<ShieldWithCheckmarkSVG/>}\n            extraContent={(\n                <div className='login-mfa-form'>\n                    <Input\n                        name='token'\n                        containerClassName='login-mfa-form-input'\n                        type='text'\n                        inputSize={SIZE.LARGE}\n                        value={token}\n                        onChange={handleInputOnChange}\n                        placeholder={formatMessage({id: 'login_mfa.token', defaultMessage: 'Enter MFA Token'})}\n                        autoFocus={true}\n                        disabled={saving}\n                    />\n                    <div className='login-mfa-form-button-container'>\n                        <SaveButton\n                            extraClasses='login-mfa-form-button-submit large'\n                            saving={saving}\n                            disabled={!token}\n                            onClick={handleSaveButtonOnClick}\n                            defaultMessage={formatMessage({id: 'login_mfa.submit', defaultMessage: 'Submit'})}\n                            savingMessage={formatMessage({id: 'login_mfa.saving', defaultMessage: 'Logging in…'})}\n                        />\n                    </div>\n                </div>\n            )}\n            onEnterKeyDown={onEnterKeyDown}\n        />\n    );\n};\n\nexport default LoginMfa;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport type {IntlShape} from 'react-intl';\nimport {FormattedMessage, defineMessages} from 'react-intl';\n\nimport type {PasswordConfig} from 'mattermost-redux/selectors/entities/general';\n\nimport Constants from 'utils/constants';\n\nexport function isValidPassword(password: string, passwordConfig: PasswordConfig, intl?: IntlShape) {\n    let errorId = passwordErrors.passwordError.id;\n    const telemetryErrorIds = [];\n    let valid = true;\n    const minimumLength = passwordConfig.minimumLength || Constants.MIN_PASSWORD_LENGTH;\n\n    if (password.length < minimumLength || password.length > Constants.MAX_PASSWORD_LENGTH) {\n        valid = false;\n        telemetryErrorIds.push({field: 'password', rule: 'error_length'});\n    }\n\n    if (passwordConfig.requireLowercase) {\n        if (!password.match(/[a-z]/)) {\n            valid = false;\n        }\n\n        errorId += 'Lowercase';\n        telemetryErrorIds.push({field: 'password', rule: 'lowercase'});\n    }\n\n    if (passwordConfig.requireUppercase) {\n        if (!password.match(/[A-Z]/)) {\n            valid = false;\n        }\n\n        errorId += 'Uppercase';\n        telemetryErrorIds.push({field: 'password', rule: 'uppercase'});\n    }\n\n    if (passwordConfig.requireNumber) {\n        if (!password.match(/[0-9]/)) {\n            valid = false;\n        }\n\n        errorId += 'Number';\n        telemetryErrorIds.push({field: 'password', rule: 'number'});\n    }\n\n    if (passwordConfig.requireSymbol) {\n        if (!password.match(/[ !\"\\\\#$%&'()*+,-./:;<=>?@[\\]^_`|~]/)) {\n            valid = false;\n        }\n\n        errorId += 'Symbol';\n        telemetryErrorIds.push({field: 'password', rule: 'symbol'});\n    }\n\n    let error;\n    if (!valid) {\n        error = intl ? (\n            intl.formatMessage(\n                {\n                    id: errorId,\n                    defaultMessage: 'Must be {min}-{max} characters long.',\n                },\n                {\n                    min: minimumLength,\n                    max: Constants.MAX_PASSWORD_LENGTH,\n                },\n            )\n        ) : (\n            <FormattedMessage\n                id={errorId}\n                defaultMessage='Must be {min}-{max} characters long.'\n                values={{\n                    min: minimumLength,\n                    max: Constants.MAX_PASSWORD_LENGTH,\n                }}\n            />\n        );\n    }\n\n    return {valid, error, telemetryErrorIds};\n}\n\nexport const passwordErrors = defineMessages({\n    passwordError: {id: 'user.settings.security.passwordError', defaultMessage: 'Must be {min}-{max} characters long.'},\n    passwordErrorLowercase: {id: 'user.settings.security.passwordErrorLowercase', defaultMessage: 'Must be {min}-{max} characters long and include lowercase letters.'},\n    passwordErrorLowercaseNumber: {id: 'user.settings.security.passwordErrorLowercaseNumber', defaultMessage: 'Must be {min}-{max} characters long and include lowercase letters and numbers.'},\n    passwordErrorLowercaseNumberSymbol: {id: 'user.settings.security.passwordErrorLowercaseNumberSymbol', defaultMessage: 'Must be {min}-{max} characters long and include lowercase letters, numbers, and special characters.'},\n    passwordErrorLowercaseSymbol: {id: 'user.settings.security.passwordErrorLowercaseSymbol', defaultMessage: 'Must be {min}-{max} characters long and include lowercase letters and special characters.'},\n    passwordErrorLowercaseUppercase: {id: 'user.settings.security.passwordErrorLowercaseUppercase', defaultMessage: 'Must be {min}-{max} characters long and include both lowercase and uppercase letters.'},\n    passwordErrorLowercaseUppercaseNumber: {id: 'user.settings.security.passwordErrorLowercaseUppercaseNumber', defaultMessage: 'Must be {min}-{max} characters long and include both lowercase and uppercase letters, and numbers.'},\n    passwordErrorLowercaseUppercaseNumberSymbol: {id: 'user.settings.security.passwordErrorLowercaseUppercaseNumberSymbol', defaultMessage: 'Must be {min}-{max} characters long and include both lowercase and uppercase letters, numbers, and special characters.'},\n    passwordErrorLowercaseUppercaseSymbol: {id: 'user.settings.security.passwordErrorLowercaseUppercaseSymbol', defaultMessage: 'Must be {min}-{max} characters long and include both lowercase and uppercase letters, and special characters.'},\n    passwordErrorNumber: {id: 'user.settings.security.passwordErrorNumber', defaultMessage: 'Must be {min}-{max} characters long and include numbers.'},\n    passwordErrorNumberSymbol: {id: 'user.settings.security.passwordErrorNumberSymbol', defaultMessage: 'Must be {min}-{max} characters long and include numbers and special characters.'},\n    passwordErrorSymbol: {id: 'user.settings.security.passwordErrorSymbol', defaultMessage: 'Must be {min}-{max} characters long and include special characters.'},\n    passwordErrorUppercase: {id: 'user.settings.security.passwordErrorUppercase', defaultMessage: 'Must be {min}-{max} characters long and include uppercase letters.'},\n    passwordErrorUppercaseNumber: {id: 'user.settings.security.passwordErrorUppercaseNumber', defaultMessage: 'Must be {min}-{max} characters long and include uppercase letters, and numbers.'},\n    passwordErrorUppercaseNumberSymbol: {id: 'user.settings.security.passwordErrorUppercaseNumberSymbol', defaultMessage: 'Must be {min}-{max} characters long and include uppercase letters, numbers, and special characters.'},\n    passwordErrorUppercaseSymbol: {id: 'user.settings.security.passwordErrorUppercaseSymbol', defaultMessage: 'Must be {min}-{max} characters long and include uppercase letters, and special characters.'},\n});\n"],"names":["ErrorLabel","_ref","errorText","React","className","propTypes","_pt","memo","EmailToLDAP","email","siteName","ldapLoginFieldName","formatMessage","useIntl","emailPasswordInput","useRef","ldapIdInput","ldapPasswordInput","password","setPassword","ldapId","setLdapId","ldapPassword","setLdapPassword","passwordError","setPasswordError","ldapError","setLdapError","ldapPasswordError","setLdapPasswordError","serverError","setServerError","showMfa","setShowMfa","submit","_ref2","loginId","token","ldapIdParam","ldapPasswordParam","emailToLdap","data","follow_link","window","location","href","err","server_error_id","ClaimErrors","MFA_VALIDATE_TOKEN_AUTHENTICATE","id","ENT_LDAP_LOGIN_USER_NOT_REGISTERED","ENT_LDAP_LOGIN_USER_FILTERED","ENT_LDAP_LOGIN_MATCHED_TOO_MANY_USERS","message","ENT_LDAP_LOGIN_INVALID_PASSWORD","API_USER_INVALID_PASSWORD","loginPlaceholder","defaultMessage","LoginMfa","title","onSubmit","FormattedMessage","e","_emailPasswordInput$c","_ldapIdInput$current","_ldapPasswordInput$cu","preventDefault","current","value","trim","classNames","values","site","type","name","ref","autoComplete","placeholder","spellCheck","EmailToOAuth","props","useState","passwordInput","emailToOAuth","newType","Constants","SAML_SERVICE","toUpperCase","toTitleCase","uiType","concat","_passwordInput$curren","isRequired","LDAPToEmail","confirmError","setConfirmError","passwordConfirmInput","switchLdapToEmail","then","error","startsWith","_passwordConfirmInput","passwordConfig","valid","isValidPassword","confirmPassword","OAuthToEmail","intl","setError","currentType","oauthToEmail","ClaimController","render","URLSearchParams","this","search","get","BackButton","alt","src","logoImage","Switch","Route","path","match","url","actions","minimumLength","requireLowercase","requireUppercase","requireNumber","requireSymbol","connect","state","config","getConfig","SiteName","LdapLoginFieldName","getPasswordConfig","dispatch","bindActionCreators","onClick","Link","to","defaultProps","Column","SVGElement","extraContent","onEnterKeyDown","onKeyDown","key","KeyCodes","ENTER","tabIndex","Svg","_props$width","_props$height","width","toString","height","viewBox","fill","xmlns","clipPath","cx","cy","rx","ry","fillOpacity","d","stroke","strokeOpacity","strokeWidth","strokeLinecap","transform","strokeLinejoin","fillRule","clipRule","subtitle","setToken","saving","setSaving","handleSaveButtonOnClick","ColumnLayout","ShieldWithCheckmarkSVG","Input","containerClassName","inputSize","SIZE","LARGE","onChange","target","replace","autoFocus","disabled","SaveButton","extraClasses","savingMessage","errorId","passwordErrors","telemetryErrorIds","MIN_PASSWORD_LENGTH","length","MAX_PASSWORD_LENGTH","push","field","rule","min","max","defineMessages","passwordErrorLowercase","passwordErrorLowercaseNumber","passwordErrorLowercaseNumberSymbol","passwordErrorLowercaseSymbol","passwordErrorLowercaseUppercase","passwordErrorLowercaseUppercaseNumber","passwordErrorLowercaseUppercaseNumberSymbol","passwordErrorLowercaseUppercaseSymbol","passwordErrorNumber","passwordErrorNumberSymbol","passwordErrorSymbol","passwordErrorUppercase","passwordErrorUppercaseNumber","passwordErrorUppercaseNumberSymbol","passwordErrorUppercaseSymbol"],"sourceRoot":""}

VaKeR 2022