簡體   English   中英

用戶和應用程序的REST API身份驗證

[英]REST API Authentication both User and Applicatoin

我正在開發一個BaaS解決方案,該解決方案為開發人員的應用程序提供了一些REST API。 除了SSL,我想保護REST API,以同時驗證應用程序(令牌?)和客戶端(用戶名和密碼)。

我當時在考慮客戶端的基本身份驗證和應用程序身份驗證的令牌,但是我無法考慮在注冊階段提供給應用程序開發人員的簡單UUID令牌如何保護REST API並驗證應用程序。

我還閱讀了有關OAuth的信息,但是我認為它不適合作為身份驗證機制的解決方案。

我怎樣才能正確地做到這一點?

謝謝!

將“基本身份驗證”用於用戶身份驗證,然后將“令牌身份驗證”用於訪問資源(全部通過SSL)似乎確實是一種好方法(並且很常見)。 基本上要為此提供支持,您可以通過SSL使用“基本身份驗證”(用戶名/密碼)進行用戶身份驗證,並根據肯定的“身份驗證”為用戶分配一個“承載者令牌”(或身份驗證令牌)。 用戶憑據通常與身份驗證令牌一樣存儲(散列和加鹽)在DB中。 基於檢索到的令牌,用戶可以訪問API資源(也可以通過SSL來授予最大的通道安全性)。 您可以不時(或按設備)更改令牌。

不知道您正在使用哪種技術來開發RESTful Web服務。 在Java中,我一直在使用Apache Shiro( http://shiro.apache.org/ ),它可以支持所有這些活動(基本身份驗證,基於令牌的身份驗證,數據加密(哈希+鹽化)以存儲在數據庫中,等-看看我寫的另一篇關於如何在shiro中設置這種方法的文章: https : //stackoverflow.com/a/17950339/1029673 )。

HTH。

最后,我想出了適合我的安全模式的OAuth 2.0資源所有者密碼流。

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM