[英]How does OAuth handle authorization?
我們已經使用RestEasy實現了RESTful API。 現在,我們計划構建自己的OAuth實現,並將其與Rest API集成。
我不完全了解OAuth如何處理對API的每個請求的授權。 我的理解如下:
這將對性能產生影響,因為我們正在與第二個服務器一起驗證每個API請求的令牌。 這種理解正確嗎?
這將取決於您如何定義REST API。 基本上,OAUTH調用具有以下組件。
用戶 :誰提出要求。
提供者 :誰擁有用戶信息並提供訪問它們的API。
消費者 :要求用戶授權消費者向api發出請求的用戶。
基本工作流程如下:
用戶嘗試從消費者訪問受限資源。
消費者要求用戶分享一些有關他的信息。
用戶選擇他的身份提供者。
提供商應了解消費者(通常,消費者將自己注冊為提供商門戶中的應用程序/網站)
消費者使用他的consumer_key和作用域重定向到提供程序。
用戶授權該應用程序,並授予訪問其某些資源的權限。
提供者創建令牌並重定向回消費者。
消費者交換此令牌及其身份以獲取用戶的access_token。
消費者使用access_token向提供商提出授權請求,並詢問有關用戶的信息很少。
提供者將那些信息發送給消費者。
消費者驗證信息,然后用戶登錄到系統中。
現在,將根據范圍生成每個令牌,並且有效期為幾天。 令牌驗證將是Provider響應的一部分。
在您的系統中,您可以針對令牌存儲用戶數據,因此我們不需要請求Provider發送那些信息。 但是,如果您不想存儲用戶信息,肯定會有其他電話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.