@particle-network/authkit
Version:
Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.
8 lines (7 loc) • 21.8 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/pages/account/accountVerify/index.tsx"],
"sourcesContent": ["import {\n ApiError,\n AuthType,\n bindLoginAccount,\n getBindSecurityAccounCaptcha,\n getCloudflareTurnstileResponse,\n getSecurityAccountCaptcha,\n getSecurityAccountToken,\n setPaymentPassword,\n syncUserInfo,\n thirdpartyAuth,\n type SocialAuthType,\n} from '@particle-network/auth-core';\nimport { useInterval, useRequest } from 'ahooks';\nimport { Button, Modal } from 'antd';\nimport base64url from 'base64url';\nimport throttle from 'lodash/throttle.js';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport PowerFooter from '../../../components/power-footer';\nimport AuthCode from '../../../components/react-auth-code-input';\nimport {\n useAuthCoreModal,\n useCustomNavigate,\n useCustomRouter,\n useParticleAuth,\n useTranslation,\n} from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { displayEmail, displayPhone } from '../../../utils/common-utils';\nimport { getAccountList } from '../../loginAccount';\nimport { PageType } from './config';\nimport styles from './index.less';\n\ninterface IParams {\n account: string; // \u8FDB\u5165\u9875\u9762\u65F6\u4F1A\u7ED9\u8FD9\u4E2A\u8D26\u6237\u53D1\u9001\u9A8C\u8BC1\u7801\uFF0C\u8FD9\u4E2A\u8D26\u6237\u53EF\u80FD\u662F\u5B89\u5168\u8D26\u53F7\uFF0C\u4E5F\u53EF\u80FD\u662F\u8981\u7ED1\u5B9A\u7684\u8D26\u53F7\n pageType: PageType;\n unbindAccount: string; //\u89E3\u7ED1\u624B\u673A\u3001\u90AE\u7BB1\u65F6\u4F7F\u7528\n authType: AuthType;\n verifyToken: string;\n redirectUrl: string;\n password: string; // \u91CD\u7F6E\u5BC6\u7801\u65F6\u9700\u8981\n}\n\nconst AccountVerify = (props: any) => {\n const navigate = useCustomNavigate();\n const { t } = useTranslation();\n\n const state = props;\n\n const message = useMessage();\n\n const { customRouter } = useCustomRouter();\n\n const { themeType, language } = useCustomize();\n\n const { account, pageType, authType, verifyToken, redirectUrl, password } = state as IParams;\n\n const [code, setCode] = useState<string>('');\n\n const [interval, setInterval] = useState<number | undefined>(1000);\n\n const [countdown, setCountdown] = useState(60);\n\n const [errorTip, setErrorTip] = useState<string>();\n const { authCoreModal } = useAuthCoreModal();\n const { userInfo } = useParticleAuth();\n const [verifyLoading, setVerifyLoading] = useState(false);\n\n const inputRef = useRef(null);\n\n useInterval(() => {\n if (countdown > 0) {\n const result = countdown - 1;\n setCountdown(result);\n if (result === 0) {\n setInterval(undefined);\n }\n }\n }, interval);\n\n // \u83B7\u53D6\u9A8C\u8BC1\u7801\n const { run: runGetCode } = useRequest(\n async (params) => {\n console.log('get code', params);\n if (pageType === PageType.BindLoginAccount) {\n params = {\n [authType as string]: account,\n // eslint-disable-next-line camelcase\n cf_turnstile_response: params.cf_turnstile_response,\n };\n return getBindSecurityAccounCaptcha(params).then((res) => {\n return res;\n });\n } else {\n return getSecurityAccountCaptcha(params.verifyCodeMethod);\n }\n },\n {\n manual: true,\n onSuccess: (result, params) => {\n if (!interval) {\n setCountdown(60);\n setInterval(1000);\n }\n },\n onError: (error) => {\n setCountdown(0);\n setInterval(undefined);\n },\n }\n );\n\n // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\uFF0C\u83B7\u53D6token\n const { runAsync: securityAccountsVerifyRequest } = useRequest(getSecurityAccountToken, {\n manual: true,\n onBefore: () => {\n setVerifyLoading(true);\n },\n onError: (error: any) => {\n if (error?.error_code === ApiError.InvalidCode) {\n setErrorTip(t('login.invalid_code') as string);\n } else if (error?.error_code === ApiError.ResendCode) {\n setErrorTip(t('login.please_send_again') as string);\n } else {\n error.message && message.error(error.message);\n }\n },\n onFinally: () => {\n setTimeout(() => {\n setVerifyLoading(false);\n }, 2000);\n },\n });\n\n // \u7ED1\u5B9A\u767B\u5F55\u90AE\u7BB1\u6216\u624B\u673A\u53F7\n const { loading: loadBindingLoading, runAsync: loginBindingsAsyncRequest } = useRequest(\n async (params) => {\n console.log('loginBindingsAsyncRequest', params);\n return bindLoginAccount(params).then(async () => {\n await syncUserInfo();\n });\n },\n {\n manual: true,\n onSuccess: (data) => {\n message.success(t('new.bind_login_account_success'));\n },\n onError: (error: any) => {\n console.log('loginBindings', error);\n let messageValue = error.message;\n if (error?.error_code === ApiError.InvalidCode) {\n setErrorTip(t('login.invalid_code') as string);\n return;\n } else if (error?.error_code === ApiError.ResendCode) {\n setErrorTip(t('login.please_send_again') as string);\n return;\n } else if (error.error_code === 20109) {\n messageValue = authType == AuthType.email ? t('error.server_email_20109') : t('error.server_phone_20109');\n } else {\n messageValue = error?.extra?.[0] || error.message;\n }\n\n Modal.error({\n title: messageValue,\n wrapClassName: 'auth-core-modal-error',\n getContainer: () => {\n return authCoreModal.rootBody as HTMLElement;\n },\n onOk: () => {\n (inputRef.current as any)?.clear();\n if (error.error_code === 20109) {\n // back\n navigate(-1);\n }\n },\n });\n },\n }\n );\n\n // \u91CD\u7F6E\u652F\u4ED8\u5BC6\u7801\n const { loading: resetLoading, run: runResetPaymentPassword } = useRequest(setPaymentPassword, {\n manual: true,\n onError: (error: any) => {\n if (error?.error_code === ApiError.InvalidCode) {\n setErrorTip(t('login.invalid_code') as string);\n } else if (error?.error_code === ApiError.ResendCode) {\n setErrorTip(t('login.please_send_again') as string);\n }\n },\n onSuccess: (result, params) => {\n syncUserInfo();\n\n const paths = ['account/security', 'solana/sign', 'evm-chain/sign'];\n const indexs = paths.map((path) => {\n return customRouter.history?.findIndex((item) => item.path === path) as number;\n });\n\n const index = indexs.indexOf(Math.max(...indexs));\n\n navigate(paths[index], { replace: true, back: true });\n },\n });\n\n // \u89E3\u7ED1\u767B\u5F55\u8D26\u53F7\n const { loading: deleteLoginAccountLoading, run: deleteLoginAccount } = useRequest(\n // pnApi.deleteLoginBinding\n () => new Promise((resolve, reject) => {}),\n {\n manual: true,\n onSuccess: (result) => {\n // const _userInfo = tokenProvider.userInfo;\n // _userInfo.passkeys_id = undefined;\n // tokenProvider.userInfo = _userInfo;\n // setUserInfo({\n // passkeys_id: undefined,\n // });\n // route(-2);\n },\n }\n );\n\n const verifyCodeMethod = useMemo(() => {\n return account?.includes('@') ? AuthType.email : AuthType.phone;\n }, [account]);\n\n useEffect(() => {\n requestVerifyCode();\n }, [account]);\n\n const requestVerifyCode = () => {\n setErrorTip('');\n if (pageType === PageType.BindLoginAccount && authType === AuthType.phone) {\n getCloudflareTurnstileResponse({\n theme: themeType,\n language,\n getContainer: () => {\n return authCoreModal.rootBody as HTMLElement;\n },\n })\n .then((token) => {\n runGetCode({\n // eslint-disable-next-line camelcase\n verify_code_method: verifyCodeMethod,\n // eslint-disable-next-line camelcase\n cf_turnstile_response: token,\n });\n })\n .catch(() => {\n message.error(t('error.server_20112'));\n navigate(-1);\n });\n } else {\n runGetCode({\n // eslint-disable-next-line camelcase\n verifyCodeMethod: verifyCodeMethod,\n });\n }\n };\n\n const onCodeInputChange = (code: string) => {\n setErrorTip('');\n setCode(code);\n\n if (code.length === 6) {\n throttleConfirmCode(code);\n }\n };\n\n const throttleConfirmCode = useCallback(\n throttle(\n (code) => {\n confirmCode(code);\n },\n 1000,\n {\n leading: true,\n trailing: false,\n }\n ),\n []\n );\n\n const resetPassword = (codeValue?: string) => {\n runResetPaymentPassword({\n password,\n verifyCodeMethod: verifyCodeMethod,\n code: codeValue || code,\n });\n };\n\n const confirmCode = (code = '') => {\n console.log('pageType', pageType);\n if (errorTip) {\n console.log('errorTip', errorTip);\n return;\n }\n let data: any = { code };\n if (pageType === PageType.ResetPaymentPassword) {\n resetPassword(code);\n } else if (pageType == PageType.VerifySecurityAccount_SetSecurityAccount) {\n // \u7ED1\u5B9A\u5B89\u5168\u8D26\u53F7\u65F6\u524D\u7F6E\u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n securityAccountsVerifyRequest({\n verifyCodeMethod: verifyCodeMethod,\n code,\n }).then((verifyToken) => {\n navigate('/account/bind', {\n replace: true,\n state: {\n accountType: authType,\n verifyToken,\n redirectUrl,\n },\n });\n });\n } else if (pageType === PageType.VerifySecurityAccount_BindLoginAccount) {\n // \u7ED1\u5B9A\u767B\u5F55\u8D26\u53F7\u65F6\u524D\u7F6E\u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n securityAccountsVerifyRequest({\n verifyCodeMethod: verifyCodeMethod,\n code,\n }).then((verifyToken) => {\n const accountList = getAccountList({\n userInfo,\n t,\n });\n const { id, value } = accountList.find((item) => item.type === authType) || {};\n // \u9A8C\u8BC1\u6210\u529F\u540E\uFF0C\u6839\u636E authType \u6267\u884C\u4E0D\u540C\u903B\u8F91\n // AuthType.phone\uFF0CAuthType.email \u8DF3\u8F6C\u9875\u9762\uFF0C\u5176\u4ED6\u7684\u6267\u884Cauth\u7B7E\u540D\u8DF3\u8F6C\u767B\u5F55\u6388\u6743\n if (authType === AuthType.phone || authType === AuthType.email || value || id) {\n navigate('/login-account/bind', {\n state: {\n authType,\n verifyToken,\n },\n replace: true,\n });\n } else {\n console.log('\u7ED1\u5B9A\u7B2C\u4E09\u65B9 \u9875\u9762\u8DF3\u8F6C');\n const appState = base64url.encode(JSON.stringify({ verifyToken, purpose: 'bindLoginAccount' }));\n thirdpartyAuth({\n authType: authType as SocialAuthType,\n appState,\n prompt: 'select_account',\n }).catch((error) => {\n message.error(error?.message || error);\n });\n }\n });\n } else if (pageType === PageType.BindLoginAccount) {\n // eslint-disable-next-line camelcase\n data = { ...data, security_account_verify_token: verifyToken, [authType as string]: account };\n loginBindingsAsyncRequest(data).then((res) => {\n navigate(-2);\n });\n } else if (pageType === PageType.UnbindLoginAccount) {\n // passkeys\n }\n };\n\n const formatDisplayAccount = (): string => {\n if (account.includes('@')) {\n return displayEmail(account);\n } else {\n return displayPhone(account);\n }\n };\n\n useEffect(() => {\n const elements = document.getElementsByClassName('react-input-code');\n const contextmenuEvent = (e: any) => e.preventDefault();\n elements[0]?.addEventListener('contextmenu', contextmenuEvent);\n return () => {\n elements[0]?.removeEventListener('contextmenu', contextmenuEvent);\n };\n }, []);\n\n const handleCodeInputFocus = () => {\n const elements = document.getElementsByClassName('input-code-item');\n //@ts-ignore\n elements[Math.min(code.length, 5)]?.focus();\n };\n\n return (\n <div className='set-viery-container'>\n <style>{styles as unknown as string}</style>\n <div className='account-header'>\n <SVGIcon\n className='icon-navigation-back'\n name='circle_back'\n onClick={() => {\n navigate(-1);\n }}\n />\n </div>\n <h2 className='set-email-title'>{t('account.enter_code')}</h2>\n <p className='set-email-desc-2'>{formatDisplayAccount()}</p>\n\n <div onClick={handleCodeInputFocus}>\n <AuthCode\n containerClassName='react-input-code'\n inputClassName='input-code-item'\n allowedCharacters='numeric'\n length={6}\n ref={inputRef}\n placeholder={' '}\n onChange={onCodeInputChange}\n />\n </div>\n\n {errorTip && <div className='code-error'>{errorTip}</div>}\n\n <Button\n className='account-submit-btn'\n loading={resetLoading || verifyLoading || loadBindingLoading || deleteLoginAccountLoading}\n onClick={() => {\n setTimeout(() => {\n confirmCode(code);\n });\n }}\n disabled={code.length !== 6}\n >\n {t('common.confirm')}\n </Button>\n\n <Button className='send-again' onClick={requestVerifyCode} disabled={countdown > 0}>\n {countdown > 0 ? `${t('login.send_again')} (${countdown}s)` : t('login.send_again')}\n </Button>\n <div\n className='back'\n onClick={() => {\n navigate(-1);\n }}\n >\n <SVGIcon className='arrow1-icon' name='arrow1_icon' />\n <span>{t('login.back')}</span>\n </div>\n\n <PowerFooter />\n </div>\n );\n};\n\nexport default AccountVerify;\n"],
"mappings": "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",
"names": ["_a", "code", "verifyToken", "accountVerify_default"]
}