我公司的一个小组正在为我们的应用程序实现单点登录 REST API。此认证服务具有密码重置功能。应用程序将用户名发送到重置函数。如果该用户名与电子邮件地址相关联,则会向该地址发送一封带有临时密码的电子邮件。
另一种方法似乎是通过电子邮件发送一个安全的临时链接的网站,该链接提供一个页面供用户输入新密码。此页面仅存在很短的时间。
我知道电子邮件不是一种安全协议,因此人们可以嗅探流量并恢复临时密码或临时链接。
是否有任何重要的安全原因偏爱一种方法而不是另一种方法?有没有另一种更安全的方法来做到这一点?