为基于 api 的服务实施身份验证的正确方法

Right way to implement authentication for api-based service

我正在使用在 django rest 框架上实现的 REST-api 开发服务。我的网站在 javascript 上有前端(可能是 Knockout 上的 SPA),android 和 iOS 应用程序,它们都将使用这个 API。在这种情况下处理身份验证的最佳方法是什么?

我已经阅读了很多关于 JWT 令牌(不是我的情况,我必须能够随时撤销特定用户的授权)、会话(已经使用 django)、在 localStorage 中存储令牌等的内容。

我应该为所有人准备一种类型(代币吗?)?还是正常情况下,对网络使用基于 cookie 的会话身份验证,对移动应用程序使用令牌?如果网络也使用令牌,那么存储它们的最佳方式是:cookie 还是 localStorage?

使用多种身份验证方法完全没问题。

对于 Web 应用程序,这可以是基于会话的身份验证,假设您 运行 它在同一域中。对于移动应用程序,您使用令牌。 DRF 将检查定义的所有方法 here.

因此,记得enable/disable更正。