在NEXT-AUTH中登录后重定向到自定义URL



如何重定向到自定义URL与下一个认证登录后?

我有一个页面登录和内容。逻辑是这样的:

  • 如果用户登录->显示页面内容
  • 如果用户未登录->在同一页面显示登录表单

登录后,用户应该被重定向到他登录的同一页面,而不是他之前的页面

您需要使用重定向路径作为参数调用SignInSignOut函数,如下所示:

import { signIn, signOut } from "next-auth/react";
signIn({ callbackUrl: "/app" })
signOut({ callbackUrl: "/login" });

一种可能的解决方法是在您通过身份验证后在页面上重定向。

如果您的页面包含身份验证流(即siginIn())被称为Auth。Tsx,包括以下代码:

// Authentication Redirect
const router = useRouter()
const {data: session} = useSession()
if (session) {
router.push('/')
}

一旦用户回到该页面并通过身份验证,他们将自动被重定向。

你可能会发现有用的东西。我用它在页面之间自动重定向。

import { useHistory } from 'react-router-dom'
function foo() {
const history = useHistory()

// usage:
history.push('url_to_redirect_to')
// example: history.push('/') or history.push('/about')
}

最新更新