Authentication Django Rest框架会话与令牌身份验证

Authentication Django Rest框架会话与令牌身份验证,authentication,django-rest-framework,Authentication,Django Rest Framework,我使用的是DRF,我启用了会话身份验证,这样我就可以在浏览器中查看可浏览的API。在我的移动应用程序中,我使用令牌身份验证。我只是好奇,在这种情况下,会话身份验证和令牌身份验证有何不同?在我看来,它们或多或少是相同的,因为对于基于会话的身份验证,会话id而不是令牌id存储在cookie中,并以相同的方式使用。有人能更好地解释一下吗?会话和cookie主要用于浏览器,浏览器将负责将cookie与每个请求一起发送到服务器。这就是为什么CSRF保护在默认情况下仅对会话身份验证启用的原因。另一方面,令牌

我使用的是DRF,我启用了会话身份验证,这样我就可以在浏览器中查看可浏览的API。在我的移动应用程序中,我使用令牌身份验证。我只是好奇,在这种情况下,会话身份验证和令牌身份验证有何不同?在我看来,它们或多或少是相同的,因为对于基于会话的身份验证,会话id而不是令牌id存储在cookie中,并以相同的方式使用。有人能更好地解释一下吗?

会话和cookie主要用于浏览器,浏览器将负责将cookie与每个请求一起发送到服务器。这就是为什么CSRF保护在默认情况下仅对会话身份验证启用的原因。另一方面,令牌身份验证最有可能用于非浏览器客户端,它存储身份验证令牌,并在头中随每个请求一起发送。与会话身份验证中发生的情况类似,此令牌不一定是通过将凭据交换为令牌来获得的。可能存在这样一个用例:管理员生成这些令牌并将其交给将调用您的API的其他系统客户端,显然,该客户端不必具有用户名和密码来交换令牌