我正在使用Django Rest Framework和令牌认证。到目前为止一切都很好。
http://www.django-rest-framework.org/api-guide/authentication#tokenauthentication
但我意识到任何人都可以创建一个挂钩我的API的第三方应用。我无法检测到它或阻止它。
我错过了什么吗?我按照指示行事,而且我:
即使用户知道自己的令牌,我也希望他们能够通过官方原生应用访问API。
1。如何保护我的API(使用令牌身份验证)并确保只有MY应用可以连接到它?
2。我可以在标题中包含某种秘密密钥吗?我在生产中使用HTTPS,标题和表单数据(用户名/密码)是否可截获/可读? (由运行应用程序的人员)。
还在学习,谢谢。
答案 0 :(得分:0)
也许我完全不了解你的问题,但是:
是的,在你的应用程序中,每个使用用户名和密码可以创建令牌,如果你将obtain_auth_token
添加到你的urlconfig (你不是不得不)。
所以你可以:
obtain_auth_token
视图并在管理员中或手动创建令牌。 要回答您的HTTPS问题:
HTTPS加密位于客户端和服务器之间,位于 TCP和HTTP之间。因此,介于两者之间的每个人(中间的人)都看不到任何标题,数据甚至路径。使用SNI时,主机名(Host
标题)可见,但没有其他内容。
希望这会有所帮助。