mli*_*ner 4 authentication oauth-2.0 django-rest-framework
我正在使用 Django REST Framework 设置一个新的 API,但我对如何设置身份验证感到有些困惑。我正在设置的 API 由公众使用,我希望他们拥有最大的灵活性。
开箱即用,DRF 提供基本身份验证、会话身份验证和令牌身份验证。使用另一个包,您还可以添加 OAuth2 身份验证。
如果我将我的 API 设置为具有令牌身份验证——这是开箱即用的——为什么我需要设置 OAuth2?我已经阅读了一些关于此的内容,但是由于 DRF 的令牌身份验证是相当定制的,因此我无法找到太多比较这两种方法的信息。
据我所知,OAuth 只是 Token Auth 的一种高级形式,那么为什么要安装和配置它呢?
我对 OAuth2 稍有熟悉,但不得不做一些功课来思考这个问题。OAuth 相对于内置令牌身份验证的优势在于 OAuth 可以由计算机协商,为每个客户端提供不同的令牌,并且可以轻松撤销。
因此,如果我在我的 API 上设置 OAuth 作为身份验证,那么您就可以委托第三方使用您的数据。例如,Twitter 具有 OAuth,因此您可以使用 OAuth 令牌设置第三方客户端——Tweetie 或其他任何东西——它可以用来访问您的数据。但是,如果您停止使用 Tweetie,或者您不再信任 Tweetie,您可以撤销它的 OAuth 访问权限,而无需重置您的密码,从而撤销每个已配置客户端的访问权限。
所以就我而言,我有一个主要是读取 API,并且(还)没有特定用户私有的资源。因此,我们不需要 OAuth,因为我们预计人们不需要将密码提供给第三方客户端。
| 归档时间: |
|
| 查看次数: |
1746 次 |
| 最近记录: |