gpt4 book ai didi

authentication - 用于 Django Rest Framework API 的 token 身份验证或 OAuth 2(或两者?)

转载 作者:行者123 更新时间:2023-12-03 21:32:41 30 4
gpt4 key购买 nike

我正在使用 Django REST Framework 设置一个新的 API,但我有点困惑如何设置身份验证。我正在设置的 API 由公众使用,我希望他们拥有最大的灵 active 。

开箱即用,DRF 提供基本身份验证、 session 身份验证和 token 身份验证。使用另一个包,您还可以添加 OAuth2 身份验证。

如果我将我的 API 设置为具有 token 身份验证(即开即用),我为什么需要设置 OAuth2?我已经阅读了一些关于此的内容,但由于 DRF 的 Token Auth 是相当定制的,因此我无法找到太多比较这两种方法的内容。

据我所知,OAuth 只是 Token Auth 的一种高级形式,那么为什么还要安装和配置它呢?

最佳答案

我对 OAuth2 很熟悉,但必须做一些功课才能把它想通。 OAuth 相对于内置 token 身份验证的优势在于 OAuth 可以由计算机协商,为每个客户端提供不同的 token ,并且可以轻松撤销。

因此,如果我将 OAuth 设置为我的 API 上的身份验证,那么您就可以委托(delegate)第三方使用您的数据。例如,Twitter 具有 OAuth,因此您可以使用可用于访问您的数据的 OAuth token 设置第三方客户端(Tweetie 或其他客户端)。但是,如果您停止使用 Tweetie,或者您不再信任 Tweetie,您可以在不重置密码的情况下撤销其 OAuth 访问权限,从而撤销已配置的每个客户端的访问权限。

因此,就我而言,我有一个主要是读取的 API,并且(还没有)特定用户私有(private)的资源。因此,我们不需要 OAuth,因为我们预计人们不需要将密码提供给第三方客户端。

关于authentication - 用于 Django Rest Framework API 的 token 身份验证或 OAuth 2(或两者?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32706834/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com