【发布时间】:2016-10-07 00:46:46
【问题描述】:
这是this 的后续问题。
我在 Python 2.7、Django 1.8 和 Django REST framework 3.3 中使用最新的 Django OAuth2 Toolkit (0.10.0)
一些背景:
在进行身份验证时,客户端会收到一个新的AccessToken,每次 a 向服务器发出新请求时他都会使用该AccessToken。此AccessToken 归客户端所有,并根据请求使用Authorization 标头进行传输。
我进行的一个简单测试是从经过身份验证的客户端获取此访问令牌,并使用来自另一台机器的简单 HTTP 请求将其发送到 Authorization header。
结果是这个新的“客户”现在就像原来的客户一样经过身份验证,他可以随心所欲地提出请求。
所以问题是:
访问令牌未绑定到任何形式的客户端验证(如会话 ID 或客户端 IP 地址)。任何可以获取/找到/窃取/查找客户端的AccessToken 的人都可以代表此客户端的虚假请求。
我研究了这个问题分配,但我找不到任何解决这个问题的人。也许我在验证客户端时做错了什么?我会喜欢一些见解。也许我错过了一个简单的配置、开箱即用的解决方案。
谢谢!
【问题讨论】:
标签: python django oauth-2.0 django-rest-framework django-oauth