簡體   English   中英

OAuth如何處理授權?

[英]How does OAuth handle authorization?

我們已經使用RestEasy實現了RESTful API。 現在,我們計划構建自己的OAuth實現,並將其與Rest API集成。

我不完全了解OAuth如何處理對API的每個請求的授權。 我的理解如下:

  1. 在進行任何REST API調用之前,OAuth服務器會對用戶進行身份驗證。
  2. 每個REST API調用都將包含一個令牌。 REST API服務器使用OAuth服務器驗證此令牌。 如果令牌有效,則服務器將返回響應。

這將對性能產生影響,因為我們正在與第二個服務器一起驗證每個API請求的令牌。 這種理解正確嗎?

這將取決於您如何定義REST API。 基本上,OAUTH調用具有以下組件。

用戶 :誰提出要求。

提供者 :誰擁有用戶信息並提供訪問它們的API。

消費者 :要求用戶授權消費者向api發出請求的用戶。

基本工作流程如下:

  1. 用戶嘗試從消費者訪問受限資源。

  2. 消費者要求用戶分享一些有關他的信息。

  3. 用戶選擇他的身份提供者。

  4. 提供商應了解消費者(通常,消費者將自己注冊為提供商門戶中的應用程序/網站)

  5. 消費者使用他的consumer_key和作用域重定向到提供程序。

  6. 用戶授權該應用程序,並授予訪問其某些資源的權限。

  7. 提供者創建令牌並重定向回消費者。

  8. 消費者交換此令牌及其身份以獲取用戶的access_token。

  9. 消費者使用access_token向提供商提出授權請求,並詢問有關用戶的信息很少。

  10. 提供者將那些信息發送給消費者。

  11. 消費者驗證信息,然后用戶登錄到系統中。

現在,將根據范圍生成每個令牌,並且有效期為幾天。 令牌驗證將是Provider響應的一部分。

在您的系統中,您可以針對令牌存儲用戶數據,因此我們不需要請求Provider發送那些信息。 但是,如果您不想存儲用戶信息,肯定會有其他電話。

暫無
暫無

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

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