限制我的django rest框架API仅适用于我的移动和web应用程序的推荐方式是什么?我使用django-rest-auth来验证我的用户。有一些API可以匿名访问。但我需要确保所有API都只能通过我的应用程序(移动和网络)使用。
任何帮助/教程都非常感谢。谢谢
发布于 2015-12-01 14:45:31
您需要在配置级别设置授权方案,将其仅限于您的移动/ web应用程序,并在类级别显式设置公共授权方案。有关实现细节,请参阅http://www.django-rest-framework.org/api-guide/permissions/#setting-the-permission-policy。
发布于 2015-12-03 21:21:39
因为所有的请求都可以被嗅探到,所以你不能使用任何Secret-key或者检查HTTP源(它很容易被伪造)。
对于移动端,你可以尝试使用带有一些特殊算法的密钥生成器。例如MD5(current_time + your_secret_phrase)。然后,您将能够验证代码是可接受的。这将使嗅探器几乎不可能使用您的API。
但是对于Web,你不能做太多的事情。所有的报头都可以被伪造。唯一的方法--用户身份验证。
当然,您可以使用Secret-key,并在每个月/日/小时更改它。但这样做值得吗?
https://stackoverflow.com/questions/34008097
复制相似问题