2017-04-03 141 views
0

我正在寻求一些关于基于令牌的授权方面的帮助。我们有一个客户服务器模型。客户端首次联系服务器并获取令牌。无论何时将新消息发送到服务器,都必须使用此令牌。我没有任何用户。这些消息是来自系统的触发器。请有人建议如何继续? 我碰到这个链接 http://www.tomchristie.com/rest-framework-2-docs/api-guide/authentication基于IP的Django令牌授权

但我很困惑,当涉及到保存它对用户,因为我有这样的机器请求。

回答

0

您可以在中间件层中检查请求是否来自某个IP。如果是这样,那么你可以编程来允许或拒绝请求通过。如果允许请求,那么您可以使用Django令牌认证进行认证。在这里,我假设你正在使用类似DRF,Tastypie

class MiddleWare2CheckIP(object): 
    def process_request(self, request): 
     ip = request.META['REMOTE_ADDR'] 
     ### if ip is in list: 
      ... 

,然后中间件路径添加到MIDDLEWARE_CLASSES

MIDDLEWARE_CLASSES = (
    ..., 
    'path-to-middleware-MiddleWare2CheckIP', 
    ... 
) 

OR

你可以有一个装饰,你可以与所有的API使用,检查请求是否来自某些IP

+0

谢谢。我正在尝试使用中间件在请求处理之前进行身份验证。但是我碰到了必须生成令牌的地步。我可以像新客户端计算机注册自己的令牌一样进行设置吗?没有任何用户参与。 – Siriya

+0

请检查基于django令牌的认证。使用类似django-allauth的东西。 – AceLearn