👽 Support other auth factors
🐛 Fix redirect url did not work
This commit is contained in:
parent
7600e3f93d
commit
80d3dac2b0
@ -8,6 +8,8 @@ import { useState } from 'react'
|
||||
import ErrorIcon from '@mui/icons-material/Error'
|
||||
import PasswordIcon from '@mui/icons-material/Password'
|
||||
import EmailIcon from '@mui/icons-material/Email'
|
||||
import PinIcon from '@mui/icons-material/Pin'
|
||||
import NotificationsActiveIcon from '@mui/icons-material/NotificationsActive'
|
||||
|
||||
export function SnLoginRouter({
|
||||
ticket,
|
||||
@ -18,8 +20,13 @@ export function SnLoginRouter({
|
||||
factorList: SnAuthFactor[]
|
||||
onNext: (val: SnAuthFactor) => void
|
||||
}) {
|
||||
const factorTypeIcons = [<PasswordIcon key="password-icon" />, <EmailIcon key="email-icon" />]
|
||||
const factorTypeLabels = ['Password', 'Email verification code']
|
||||
const factorTypeIcons = [
|
||||
<PasswordIcon key="password-icon" />,
|
||||
<EmailIcon key="email-icon" />,
|
||||
<PinIcon key="pin-icon" />,
|
||||
<NotificationsActiveIcon key="notification-icon" />,
|
||||
]
|
||||
const factorTypeLabels = ['Password', 'Email verification code', 'Time-based OTP', 'In-app verification code']
|
||||
|
||||
const [error, setError] = useState<string | null>(null)
|
||||
const [loading, setLoading] = useState<boolean>(false)
|
||||
|
@ -6,6 +6,7 @@ import { useUserStore } from 'solar-js-sdk'
|
||||
import { Box, Container, Typography } from '@mui/material'
|
||||
import { useRouter } from 'next/router'
|
||||
import { useState } from 'react'
|
||||
import { useSearchParams } from 'next/navigation'
|
||||
|
||||
export default function Login() {
|
||||
const [period, setPeriod] = useState<number>(0)
|
||||
@ -14,17 +15,12 @@ export default function Login() {
|
||||
const [factor, setFactor] = useState<SnAuthFactor | null>(null)
|
||||
|
||||
const router = useRouter()
|
||||
const searchParams = useSearchParams()
|
||||
const userStore = useUserStore()
|
||||
|
||||
function doCallback() {
|
||||
if (router.query['redirect_url']) {
|
||||
let redirectUrl: string
|
||||
if (Array.isArray(router.query['redirect_url'])) {
|
||||
redirectUrl = router.query['redirect_url'][0]
|
||||
} else {
|
||||
redirectUrl = router.query['redirect_url'].toString()
|
||||
}
|
||||
|
||||
let redirectUrl = searchParams.get('redirect_url')
|
||||
if (redirectUrl) {
|
||||
if (redirectUrl.startsWith('/')) {
|
||||
router.push(redirectUrl)
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user