我有一个使用 Symfony2 构建的 Web 应用程序,其中一些项目与其他用户共享。共享项目时,用户会收到指向该项目的链接。我希望收到链接的用户在单击电子邮件时自动获得该站点的身份验证。到目前为止,我所做的是:
- 使用共享链接生成唯一令牌并将其附加到链接
- 当共享链接的用户单击链接时,将检查唯一令牌并验证相应用户。
但是,这种方法存在缺陷。如果其他用户在浏览器中复制并粘贴相同的链接,或者原始收件人将邮件转发给其他人,则其他用户将被验证为链接的原始收件人。克服这些缺陷的方法应该是什么?我真正想要的是:
- 链接应仅在从电子邮件中单击时对用户进行身份验证,并且不应允许直接访问。
- 仅当从最初发送链接的电子邮件中单击链接时,才能对用户进行身份验证。
我读过一些要求有些相似但不完全相同的问题。此外,对他们的回应导致得出的结论是这是不可能的。真的吗 ?