2017-04-03 145 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