2015-06-19 63 views
1

我使用Django OAuth Toolkit和Django Rest來進行OAuth身份驗證,以用於移動應用程序。爲了訪問任何受保護的資源客戶端ID和應用程序的祕密是必需的。我應該在哪裏存儲客戶端密碼。在APK中存儲是不安全的,因爲它可以被反編譯。即使混淆也可以被反向設計。那麼什麼是最好和安全的方式來爲客戶端應用提供祕密。Django oauth的客戶端密碼

回答

0

保持隱藏客戶端ID並不是非常重要,但是您不應該在應用程序中的某處保存客戶端祕密。揭露它絕對會危及你的安全。

對於您的情況,您可以設置一個使用Password Grant type(我的個人偏好)的OAuth應用程序,或者讓您的用戶authenticate with your server授予他們一個expirey訪問令牌以用於將來的請求。這些是移動應用常見的兩種不同的「OAuth流量」。

還有這awkwardly titled slideshow我認爲有一些有用的插圖來描述OAuth與移動應用程序的使用。

+0

這是我如何配置的Oauth應用 - 用於刷新令牌 客戶端類型機密,授權格蘭特類型密碼 現在 - '捲曲-X POST -d「grant_type = refresh_token&CLIENT_ID = &client_secret = &refresh_token = < your_refresh_token>「http:// example.com/o/token /' 因此,對於android應用程序或任何客戶端應用程序,我應該在哪裏存儲這個客戶端的祕密? –