Implement keyboard navigation using arrow keys in the whole application. #2
@@ -57,21 +57,15 @@ export async function register(resetToken = null, displayName = null, onstartreg
|
|||||||
export async function authenticate() {
|
export async function authenticate() {
|
||||||
const ws = await aWebSocket(await makeUrl('/auth/ws/authenticate'))
|
const ws = await aWebSocket(await makeUrl('/auth/ws/authenticate'))
|
||||||
try {
|
try {
|
||||||
const res = await ws.receive_json()
|
let res = await ws.receive_json()
|
||||||
console.log('Authentication options:', res)
|
if (res.status >= 400) throw new Error(res.detail || `Authentication failed: ${res.status}`)
|
||||||
// status field present means error
|
|
||||||
if (res.status) {
|
|
||||||
throw new Error(res.detail || `Authentication failed: ${res.status}`)
|
|
||||||
}
|
|
||||||
|
|
||||||
const authResponse = await startAuthentication(res)
|
const authResponse = await startAuthentication(res)
|
||||||
ws.send_json(authResponse)
|
ws.send_json(authResponse)
|
||||||
|
|
||||||
const result = await ws.receive_json()
|
res = await ws.receive_json()
|
||||||
if (result.status) {
|
if (res.status >= 400) throw new Error(res.detail || `Authentication failed: ${res.status}`)
|
||||||
throw new Error(result.detail || `Authentication failed: ${result.status}`)
|
return res
|
||||||
}
|
|
||||||
return result
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Authentication error:', error)
|
console.error('Authentication error:', error)
|
||||||
throw Error(error.name === "NotAllowedError" ? 'Passkey authentication cancelled' : error.message)
|
throw Error(error.name === "NotAllowedError" ? 'Passkey authentication cancelled' : error.message)
|
||||||
|
|||||||
Reference in New Issue
Block a user