2014-11-05 23 views
0

我對oauth2完全陌生。我需要實現oauth2來保護我的REST服務。在閱讀不同的博客文章後,我的立場是,自動化代碼在oauth2中是否安全?

  1. 有3件事情,客戶端,提供商和web應用程序。

  2. Web應用程序想要從提供者訪問有關用戶的信息。

  3. 如果客戶端允許,提供程序會在查詢字符串中給客戶端和webapp一個授權碼。

  4. 現在,網絡應用程序將使用授權碼來獲取訪問令牌,使用它可以訪問資源。

現在我對授權代碼感到困惑。它安全嗎?

授權碼的使用壽命是多少?如果別人會竊取授權碼,他將能夠訪問用戶資源?

回答

2

RFC 6749建議授權碼的最長使用期限爲10分鐘(4.1.2. Authorization Response)。換句話說,授權碼將在10分鐘內過期。

授權碼就像在憑證端點與訪問令牌交換的憑單一樣。授權碼不是訪問令牌,因此任何人都無法使用授權碼訪問任何數據。此外,OAuth 2.0服務器將在交換後放棄或使授權碼失效。

0

這兩個請求必須通過HTTPS(強制)完成,因爲它們是對僅支持HTTPS的OAuth服務器的請求。只有客戶端/請求者服務器不需要支持HTTPS,所以只有認證碼可能通過HTTP發送。但是沒有客戶端ID /密碼,認證碼就沒用了。基本上,OAuth代碼流的重點在於具有啓用SSL的服務器的負擔在OAuth提供程序(Google/Facebook等)上,而不是在API的用戶身上。