ddo*_*meb 10 authentication django session token django-rest-framework
DRF 文档(https://www.django-rest-framework.org/api-guide/authentication/#authentication)指出
令牌身份验证适用于客户端-服务器设置,例如本机桌面和移动客户端。
和
会话身份验证适用于与您的网站在同一会话上下文中运行的 AJAX 客户端。
然而,大多数关于 Django Rest Framework 身份验证的教程和 StackOverflow 问题/答案都建议在大多数情况下使用令牌身份验证,即使对于 Web 应用程序也是如此。
我正在使用 Django/Django Rest Framework 作为后端、Angular 作为前端来实现一个 web 应用程序。我应该使用哪种身份验证方案?各自的优点和缺点是什么?
anj*_*505 14
在基于会话的身份验证中,服务器会在用户登录后为用户创建一个会话。然后,会话 ID 存储在 user\xe2\x80\x99s 浏览器上的 cookie 中。当用户保持登录状态时,cookie 将与每个后续请求一起发送。然后,服务器可以将 cookie 中存储的会话 ID 与内存中存储的会话信息进行比较,以验证 user\xe2\x80\x99s 的身份,并发送具有相应状态的响应!
\n\n许多 Web 应用程序使用令牌而不是会话进行身份验证。在基于令牌的应用程序中,服务器创建带有秘密的令牌并将令牌发送到客户端。客户端存储令牌(通常在本地存储中)并在每个请求的标头中包含令牌。然后,服务器将验证来自客户端的每个请求的令牌并发送响应。
\n\n这里最大的区别是 user\xe2\x80\x99s 状态不存储在服务器上,因为状态存储在客户端的令牌内。大多数现代 Web 应用程序使用令牌进行身份验证,原因包括可扩展性和移动设备身份验证。
\n| 归档时间: |
|
| 查看次数: |
3939 次 |
| 最近记录: |