2014-10-06 157 views
1

我在Django有一個網站,我正在開發一個Android應用程序。在一項活動中,我必須登錄用戶。我已經安裝了Django Rest Framework,但是我擔心發送用戶名和密碼是不安全的。使用Rest Framework進行登錄的最佳方式是什麼?用Django Rest框架登錄

+0

有許多現有的應用程序來處理身份驗證,所以你可能想看看其中的一些。我聽到關於[allauth]的好消息(http://django-allauth.readthedocs.org/en/latest/)。 – 2014-10-06 14:36:49

+0

但是這是用於Facebook,Twitter等。我有我自己的用戶 – user3657840 2014-10-06 17:06:11

+0

對不起,我缺乏REST框架熟悉導致我錯誤。他們的[認證指南](http://www.django-rest-framework.org/api-guide/authentication)看起來確實很徹底,是否有一部分內容不適合你? – 2014-10-07 11:41:28

回答

2

您可以使用基本身份驗證,通過提供用戶名和密碼,但必須通過https完成。否則,您可能會使用其他不同的身份驗證機制。看看here。適用於移動應用程序的應用程序可能是令牌認證。

1

使用REST API進行身份驗證的最常用方法之一是使用令牌。這實際上意味着設置一個接收「用戶名」和「密碼」並用令牌響應的API端點。然後,每個向API發出的請求都應該與此令牌一起作爲頭或參數,並在API後面運行該函數之前得到解析和驗證。這樣你的用戶名和密碼將只發送一次。當然,即使這樣,建議使用HTTPS。

一個很好的方法是使用djangorestframework-jwt(http://getblimp.github.io/django-rest-framework-jwt/)。這是一個爲Django Rest Framework API提供JSON Web Token功能的應用程序。