我在更新 BlitzJs (NextJs) 项目上的 supabase 用户密码时遇到问题。
基本上,我有一个完美的重置密码方法。首先,我发送一封带有重置链接的电子邮件,该链接将打开一个页面,用户可以在其中更新其密码,如下所示:
const { error, data } = await supabase.auth.api.updateUser(token, { password: password.trim() })
令牌是 URL 中的令牌,在电子邮件链接中提供。
到目前为止,一切都很好,但是当我尝试使用完全相同的方法
supabase.auth.api.updateUser
更新已登录用户的密码时,它无法找到该用户;
不同之处在于代币是 session.access_token
所以我尝试使用
supabase.auth.api.updateUserById
方法,但它给了我另一个错误:{ message: 'User not allowed', status: 401 }
有什么想法吗?我觉得有关这方面的 supabase 文档不是很清楚,并且可能已经过时,因为它没有显示所有可用的方法:/
const { user, error } = await supabase.auth.update({password: 'new password'})