我想问你,Facebook等网站如何处理页面刷新时的用户身份验证?我想知道为什么在刷新页面并且处于受保护的路由(例如我的个人资料设置)时没有看到任何加载程序。
创建应用程序时,我使用以下身份验证流程:
因此,使用这样的流程,初始加载程序是必要的,facebook如何能够忽略它?
答案 0 :(得分:0)
欢迎使用Stack Overflow。
我不确定您的问题是否有效-Facebook上几乎每个页面都要求您进行身份验证(而不仅仅是个人资料页面),并且经过身份验证的访问权限是几乎每个主要网站的常见功能;他们很少显示加载栏。
我们不确切知道Facebook是如何构建的,但是可以肯定的是他们使用React。您可以阅读有关如何在React here上管理身份验证的内容。
您的流程基于以下假设:要加载“应用程序”,并且身份验证请求将花费大量时间。如果令牌验证很快,则此假设可能是错误的。您确实在React应用程序上看到了“正在加载”动画-如果您在FB上快速滚动时间轴,就会看到圆圈。这可能部分是网络,部分是检索帖子。
答案 1 :(得分:0)
我知道了。这是可能的,因为可以使用Cookie在服务器端进行身份验证。他们会在用户进入页面时验证用户令牌,然后在此之后呈现所需的页面版本(对于经过身份验证的用户而言是不同的,对于未经身份验证的用户而言则不同)。