fix(web): refresh Turnstile token after login attempt (#6764)
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -72,6 +72,7 @@ export function UserAuthForm({
|
||||
const [isPasskeyLoading, setIsPasskeyLoading] = useState(false)
|
||||
const [isWeChatDialogOpen, setIsWeChatDialogOpen] = useState(false)
|
||||
const [isWeChatSubmitting, setIsWeChatSubmitting] = useState(false)
|
||||
const [turnstileWidgetKey, setTurnstileWidgetKey] = useState(0)
|
||||
const legalConsentErrorMessage = t('Please agree to the legal terms first')
|
||||
const loginFailedMessage = t('Login failed')
|
||||
|
||||
@@ -158,12 +159,18 @@ export function UserAuthForm({
|
||||
|
||||
if (!validateTurnstile()) return
|
||||
|
||||
const submittedTurnstileToken = turnstileToken
|
||||
if (isTurnstileEnabled) {
|
||||
setTurnstileToken('')
|
||||
setTurnstileWidgetKey((current) => current + 1)
|
||||
}
|
||||
|
||||
setIsLoading(true)
|
||||
try {
|
||||
const res = await login({
|
||||
username: data.username,
|
||||
password: data.password,
|
||||
turnstile: turnstileToken,
|
||||
turnstile: submittedTurnstileToken,
|
||||
})
|
||||
|
||||
if (res.success) {
|
||||
@@ -408,8 +415,10 @@ export function UserAuthForm({
|
||||
{isTurnstileEnabled && (
|
||||
<div className='mt-2'>
|
||||
<Turnstile
|
||||
key={turnstileWidgetKey}
|
||||
siteKey={turnstileSiteKey}
|
||||
onVerify={setTurnstileToken}
|
||||
onExpire={() => setTurnstileToken('')}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user