next.js 重置密码错误:“缺少身份验证会话”

hs1rzwqc  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(139)

以下函数失败,错误为“Auth Session Missing”

const { error } = await supabase.auth.updateUser({
   password: password,
});

字符串
在我的邮件中得到重置密码链接后,我将用户重定向到'/reset'链接。我得到的链接看起来像这样

https://www.example.com/reset#access_token=eyJhbGciOiJIUzI1NiIsImtpZCI6Ik5rK1VQTmlRYk9RZ2xXMUUiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNjg5ODg1MjE2LCJpYXQiOjE2ODk4ODE2MTYsImlzcyI6Imh0dHBzOi8vaHR0cHM6Ly9lbnZtbHBnYXlpd3FidWR2YWh2YS5zdXBhYmFzZS5jby9hdXRoL3YxIiwic3ViIjoiYTZiMzE1MjktNDUxOC00YjkyLTg3MzYtZDZmMTkyNTBmMzZhIiwiZW1haWwiOiJkZWVwc2hldHllMUBnbWFpbC5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7fSwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJvdHAiLCJ0aW1lc3RhbXAiOjE2ODk4ODE2MTZ9XSwic2Vzc2lvbl9pZCI6IjA0YjJlMTRlLThkMDUtNDIwYy1iNmRkLTBjODEzNDhkNjUzZCJ9.AcLI2nO1BbCqCwAgrQ8flIjkvC2kRtKcujfXpqRFVG0&expires_in=3600&refresh_token=rUB74qIa-G3GNh6mpJxWdg&token_type=bearer&type=recovery


但是在提交新密码时,我得到了错误。
我使用“@supabase/auth-helpers-nextjs”创建客户端。

6l7fqoea

6l7fqoea1#

似乎某些提供商会自动预加载电子邮件中的URL,以加快页面加载速度。但是,由于Supabase重置链接设计为一次性使用,因此此预加载操作会导致URL过早过期,从而导致用户尝试重置其密码时出错。
可能的解决方案是添加验证码验证,或者只是一个按钮,重定向到由supabase给出的url

相关问题