我正在构建一个 Django Web 应用程序,其 api 使用基于令牌的身份验证,而不是基于会话的身份验证。该 api 由 web 应用程序的前端和单独的移动应用程序使用。我很难弄清楚如何登录。我的第一个想法是做我计划在移动应用程序中做的事情:登录表单只是 POST 到创建并发送回访问令牌的端点,然后访问令牌保存在浏览器/应用程序存储中与未来的请求一起发送。这在移动应用程序的上下文中似乎是有道理的,但对于浏览器来说,这似乎有点奇怪。这种方法的一个问题是,即使在注销后内部页面仍然可见。用户可以注销,然后点击返回按钮,然后浏览网站。即使所有的 api 调用都会失败,
在我看来,不同之处在于,在移动应用程序中,只有 api 调用才需要身份验证,因为静态内容已经在设备上,不需要获取。但是,在 Web 应用程序中,需要提供静态内容,如果用户未登录,则可能不应该提供。
仅使用基于令牌的身份验证是否不常见?我是否需要对静态内容使用基于会话的身份验证,以及对 api 使用基于令牌的身份验证?
这通常是如何完成的?
编辑:我正在使用 django-rest-framework,所以一个简单的方法来处理这个也将不胜感激。