如何重置Whizi密码

快速解答

手机App是真正能找回被遗忘的Whizi密码的途径:在登录界面点选忘记密码,Whizi会把一个6位验证码发到你的邮箱,你在下一屏输入验证码和新密码即可。在网页端,忘记密码会发一封登录链接邮件,指向一个第一栏就是当前密码的修改表单。

简短答案

手机App才是真正能替换已被遗忘密码的途径。在它的登录界面点选忘记密码,输入账号邮箱地址,Whizi会发送一个6位验证码,你在下一屏连同新密码一起输入。网页端的同名入口其实是另一回事:那里的忘记密码是向认证服务商请求一封email_link登录邮件,指向whizi.io/reset-password,而/reset-password是一个修改表单,第一栏就是当前密码。也就是说网页端这条路是用来修改一个你还记得的密码的。如果网页端的密码确实已经不记得了,回来的路是App端的入口或联系客服,而不是那封邮件链接。

重置流程可以从四个地方开始,它们的表现并不相同:

从哪里开始对应控件会发送什么是否先登出
网页登录页密码标签行上的忘记密码?一封指向/reset-passwordemail_link登录邮件
网页设置,账户部分重置密码同一封邮件链接,发到同一地址是,点选发送重置链接的一瞬间
手机App登录界面忘记密码?一个6位验证码你在那里本来就已经是登出状态
手机App设置重置密码,需先确认一个6位验证码是,确认之后

使用前最需要了解的是第二行。它会当场把你登出Whizi,而且是在检查你有没有在邮箱栏填任何内容之前就已经这样做。

Whizi自己搭建了重置界面

身份认证由Clerk提供,但界面并不是Clerk托管的页面。登录页上的重置对话框、/reset-password的修改表单,以及手机登录界面里的重置步骤,都是Whizi自己的界面,只是在底层调用认证服务商,所以你实际输入的表单是Whizi的代码,而不是服务商托管的页面。

这种划分决定了出错时你会看到哪种措辞。上述每一个界面都优先显示服务商返回的消息,只有在没有可读消息时才退回到Whizi自己写的提示。所以一条关于密码长度或强度的拒绝提示,会以服务商原文的措辞出现。而退回提示因界面而异,这也是在客服对话里判断问题出在哪一步最快的方法:

界面没有可读消息时的退回提示
网页端登录页和设置里的重置对话框Failed to send reset email. Please try again.
网页端/reset-password修改表单Failed to reset password. Please try again.
手机登录界面里的两个重置步骤Couldn't sign in. Please try again.

Whizi自己写的校验很薄,分布也不均。网页端的修改表单要求当前密码栏必须填写,并且两次新密码输入要一致。手机端的重置步骤则完全没有校验:只有一个新密码栏,输入什么就原样发送。整个流程里Whizi唯一的另一处校验,是邮箱栏不能为空,这一点在网页端的两个对话框和App第一步重置里都有。至于最短长度、字符规则或是否可重复使用旧密码,Whizi完全没有写入任何限制,这些都由服务商决定,通过它返回的原文消息传达给你。

登录、会话及重置相关的错误提示全表,连同各自的触发条件,都在当你无法登录时里。这一篇讲流程,那一篇讲措辞。

从设置进入会先把你登出

在网页端,设置的账户部分有一行重置密码,紧挨着订阅和取消订阅。点开会弹出一个对话框,里面有一个邮箱地址栏和一个发送重置链接按钮。

点选那个按钮会先把你登出Whizi,然后才做别的事。登出先发生,之后代码才检查邮箱栏是否填写。如果空着提交,你就会被登出,而且什么都没发出去,唯一的回去方式就是登录页。

对话框打开时这一栏本来就是空的。它不会从你当前登录的账号地址里自动填入,所以在打开它之前就要把地址准备好,而不是等到被登出之后再找。

根据你从哪里开始,成功提示的措辞不一样,这也是在客服对话里快速分辨两条路径的办法:

界面成功提示
登录页对话框Check your inbox for a reset link.
设置对话框Password reset email sent successfully!

手机App用的是同一套先登出的设计,但会提前告知你。在那里点选重置会弹出一个标题为“重置密码?”的确认框,正文说明Whizi会把你登出,并向账号邮箱发送一个6位验证码,句子里会直接写出那个地址,然后提示你在下一屏输入验证码来设置新密码。按钮是取消和“登出并重置”。它还会在登出过程中带上你的地址,所以重置那一步打开时地址已经填好了。网页端这两点都没有做。

手机App发送的是验证码,不是链接

App端的重置是登录界面上的两步流程,结束时你已经处于登录状态,这让它成为两条路径里更可预期的一条。

  1. 第一步要求输入地址。留空提交,界面会回答Enter the email address on your account.
  1. Whizi请求发送验证码,然后用We sent a 6-digit code to加上你输入的地址来确认。
  1. 第二步同时接收验证码和新密码。如果成功,App会激活新的会话并直接把你带入Whizi,之后不需要再单独登录一次。

有一种账号类型走不到这一步。如果账号开启了第二重验证,App没有对应的界面来处理,会回答:“This account needs another verification step. Contact support and we'll help you back in.”这是真实的指引,不是让你重试。

App和网页端共享的其他内容,包括你的套餐和会回到的对话历史,都在Whizi在手机端的使用里。

修改一个你本来就知道的密码

网页端的/reset-password是一个修改表单,而不是找回表单。它有三栏:当前密码、新密码和确认新密码,如果第一栏为空就拒绝执行:Current password is required.,如果后两栏不一致则提示Passwords do not match.

一次成功的修改会结束账号上所有其他会话。这个表单会要求认证服务商在更新的同时登出其他会话,所以任何其他浏览器或设备上持有的Whizi登录状态都会因这次修改被登出,而不只是被放在一边。这个过程是无声的,表单上没有任何提示会告知这一点,也不会产生任何消息,所以这个界面能显示的只有那两条校验错误、服务商自己的拒绝文字,以及下面的成功提示。在共用设备上修改密码之前,请记住这一点。

成功后页面会显示Password reset successful! Redirecting to chat...,两秒之后带你去聊天页面。

直接在地址栏输入这个网址是到不了那里的。这条路径挡在一道守卫后面,会把已登录的访客送去聊天页面,而/reset-password不在豁免这道守卫的四个路径里(设置、定价、服务条款和隐私政策才是)。在未登录状态下访问,它会显示User not authenticated. Please log in.而不是表单。登录页对话框和设置对话框发的是同一封邮件链接,指向同一个地址,所以这两条路都绕不过当前密码这一栏。

密码重置解决不了什么

新密码只会替换凭据本身。有四件人们以为重置能解决、但它其实解决不了的事:

你想解决的重置能不能做到
清除类似Invalid or expired session token.的会话令牌错误不能。那是令牌验证失败,详见当你无法登录时
更改你用来登录的邮箱地址不能。目前完全没有自助修改地址的入口,见修改账号上的邮箱
恢复你已用掉的免费消息额度不能。免费额度是账号存续期内共7条消息,没有重置路径
把订阅转移到另一个账号上不能。套餐跟着账号走,不跟着密码走

如果账号本身用的邮箱地址已经无法读取,那重置这条路也就跟着失效了,因为链接和验证码都会发到那个邮箱里。趁旧邮箱还能用的时候就联系客服,而不要等它彻底失效之后。

操作清单
  • 忘记密码位于网页登录页的密码标签行上,点开会打开一个重置密码对话框
  • 在App里它是邮箱和密码栏下方的一个右对齐链接,那两栏只有占位提示,没有标签文字
  • 网页端发送指向/reset-password的登录链接邮件,手机App发送6位验证码
  • 设置里的重置密码会先登出你,再检查邮箱栏有没有填写
  • 网页端的重置输入栏从来不会预填,所以要提前准备好账号地址
  • 手机App会提前警告,预填地址,完成重置后直接把你带入登录状态
  • 网页端修改表单会检查当前密码栏是否填写、两次新密码是否一致,手机端的重置步骤完全不做任何校验,所有关于长度或强度的规则都来自认证服务商
  • 修改一个你已经知道的密码,会让账号上所有其他会话都被登出
  • 重置解决不了会话令牌错误,也改不了你的邮箱地址,更找不回已用掉的免费消息

常见问题

Whizi的忘记密码入口在哪里?

在网页端,它位于登录界面上,和密码标签同一行、在它右侧,点开会打开一个标题为重置密码的对话框,里面只有一个邮箱栏和一个发送重置链接按钮。手机App把它放在不同的位置:那里的登录栏只有占位提示,完全没有标签文字,所以忘记密码是邮箱和密码栏下方独立一行的右对齐链接。两边都不需要先登录,也没有单独的找回网址要去找。

被设置里的重置操作登出,是不是意味着失败了?

不是。登出是这条路径最先做的事,在邮件还没尝试发送之前就发生了,所以不管发送成功与否都会登出。对话框里出现Password reset email sent successfully!才是发送成功的确认。如果这行提示始终没有出现,就从登录页重新登录,再从那里开始重置。

重置密码会不会把我在其他设备上登出?

会,但只有当你从/reset-password的修改表单里修改密码时才会。那次更新会要求认证服务商在修改的同时登出其他会话,所以其他持有Whizi登录状态的浏览器或设备都会失去登录。事先不会有任何提醒,事后也不会有任何通知,所以在共用设备上修改密码之前,先检查一下还有哪些地方处于登录状态。

我是用Google登录的,那我重置的是什么密码?

Whizi不会根据账号最初是怎么创建的而分流处理:重置对话框只是接收一个邮箱地址,请求服务商发送重置,然后原样显示服务商返回的内容。如果你一直都是用Continue with Google登录的,那个按钮就在登录页上,根本不需要密码,是更快回到账号的办法。如果服务商拒绝了这次重置,它返回的消息就是准确的解释,值得原文转给客服。

重置密码会不会把我用掉的免费消息还给我?

不会,也不需要。免费额度会自己补充:第一天7条消息,之后每个UTC午夜补3条。跟凭据有关的任何操作都不会影响这个计数器。当天用完时App会显示什么,写在额度用完那一篇里,付费套餐的额度写在套餐与限额那一篇里。