fix: login security issue frontend (#25571)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
parent
c2fcd2895b
commit
394b0ac9c0
16 changed files with 521 additions and 36 deletions
|
|
@ -482,6 +482,12 @@ export const request = async<T>(url: string, options = {}, otherOptions?: IOther
|
|||
return resp
|
||||
const errResp: Response = err as any
|
||||
if (errResp.status === 401) {
|
||||
if(/\/login/.test(url)) {
|
||||
const clonedResponse = errResp.clone()
|
||||
const bodyJson = await clonedResponse.json() as Promise<ResponseError>
|
||||
return bodyJson
|
||||
}
|
||||
|
||||
const [parseErr, errRespData] = await asyncRunSafe<ResponseError>(errResp.json())
|
||||
const loginUrl = `${globalThis.location.origin}${basePath}/signin`
|
||||
if (parseErr) {
|
||||
|
|
|
|||
|
|
@ -26,3 +26,35 @@ export const useGenerateStructuredOutputRules = () => {
|
|||
},
|
||||
})
|
||||
}
|
||||
|
||||
export type MailSendResponse = { data: string, result: string }
|
||||
export const useSendMail = () => {
|
||||
return useMutation({
|
||||
mutationKey: [NAME_SPACE, 'mail-send'],
|
||||
mutationFn: (body: { email: string, language: string }) => {
|
||||
return post<MailSendResponse>('/email-register/send-email', { body })
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
export type MailValidityResponse = { is_valid: boolean, token: string }
|
||||
|
||||
export const useMailValidity = () => {
|
||||
return useMutation({
|
||||
mutationKey: [NAME_SPACE, 'mail-validity'],
|
||||
mutationFn: (body: { email: string, code: string, token: string }) => {
|
||||
return post<MailValidityResponse>('/email-register/validity', { body })
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
export type MailRegisterResponse = { result: string, data: { access_token: string, refresh_token: string } }
|
||||
|
||||
export const useMailRegister = () => {
|
||||
return useMutation({
|
||||
mutationKey: [NAME_SPACE, 'mail-register'],
|
||||
mutationFn: (body: { token: string, new_password: string, password_confirm: string }) => {
|
||||
return post<MailRegisterResponse>('/email-register', { body })
|
||||
},
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue