Django rest framework 将django rest框架API限制在我的移动和web应用程序中

Django rest framework 将django rest框架API限制在我的移动和web应用程序中,django-rest-framework,django-rest-auth,Django Rest Framework,Django Rest Auth,建议如何限制我的django rest framework API仅可用于我的移动和web应用程序?我正在使用django rest auth对我的用户进行身份验证。有些API可以匿名访问。但我需要确保所有的API都只能通过我的应用程序(手机和网络)使用 非常感谢您的帮助/指导。 谢谢您需要在配置级别设置授权方案,以将其仅限于您的移动/web应用程序,并在类级别显式设置公共应用程序。请参阅关于实现的详细信息。因为所有请求都可以被嗅探,所以您不能使用任何密钥或检查HTTP源(它很容易被伪造) 对于

建议如何限制我的django rest framework API仅可用于我的移动和web应用程序?我正在使用django rest auth对我的用户进行身份验证。有些API可以匿名访问。但我需要确保所有的API都只能通过我的应用程序(手机和网络)使用

非常感谢您的帮助/指导。
谢谢

您需要在配置级别设置授权方案,以将其仅限于您的移动/web应用程序,并在类级别显式设置公共应用程序。请参阅关于实现的详细信息。

因为所有请求都可以被嗅探,所以您不能使用任何密钥或检查HTTP源(它很容易被伪造)

对于移动设备,您可以尝试使用带有一些特殊算法的密钥生成器。例如MD5(当前时间+你的秘密短语)。然后您将能够验证代码是否可以接受。这将使嗅探器几乎不可能使用您的API

但对于网络,你不能做太多。所有标题都可以伪造。唯一的方法是用户身份验证


当然,您可以使用密钥并每月/每天/每小时更改一次。但是值得吗?

谢谢您的回复。但是,我不知道如何检测请求是否来自我的应用程序。我可以使用django rest auth对用户进行身份验证,但任何第三方应用程序都可以使用我的API注册用户。我想限制我的API(访问资源、注册等)访问我的移动、web应用程序。我尝试使用django oauth工具包,但在请求令牌时需要用户名。我可以把一个虚拟用户和AnooMyual用户联系在我的移动/网络应用程序上访问我的API,但是这是唯一的出路吗?Web应用程序看起来就像是你的用户,或者你可以考虑是否是这样的,你可能想解释更多你为什么要这么做。如果我不清楚,抱歉。我想做的就是确保只有我的移动应用和web应用可以访问我的RESTAPI。即使我的应用程序上的用户可以是匿名的(他们不必注册)。我不希望任何第三方应用程序使用我的API来访问我的数据。只要你使用的是web应用程序,用户将能够看到代码并访问你的API,无论如何。可能不是每个人都会,但有些人会。