2015-05-29 17 views
0

我的應用程序邏輯(Android,iOS和網絡)是所有寫在我的服務器。在我的API實現的訪問令牌架構

由於事情變得複雜,我決定建立我的服務器作爲一個REST Web服務使查詢它將包含在頭邏輯。

我的登錄流程是相當簡單的,我莫名其妙地試圖從Facebook的API複製:

  1. 用戶登錄到Facebook。
  2. 用戶收到Facebook的訪問令牌
  3. 訪問令牌發送到我的服務器與一些其他標識符與Facebook
  4. 服務器會檢查該訪問令牌是有效的與Facebook和其他標識的那些上匹配Facebook的。
  5. 服務器返回一個訪問令牌的用戶,這是他應該在每個查詢直到它過期使用。

問題是我沒有添加任何其他限制,如端點限制(範圍)和這樣的東西,所以我的服務器生成的訪問令牌授予您訪問我的API的每個部分。

我認爲,在這裏發明輪子將是愚蠢的,所以我在尋找一個框架或一個通用的解決方案,讓我以簡單的方式邏輯添加到訪問令牌。

我閱讀了關於OAuth的內容,但是我擔心它更多的關於用戶與其他用戶的共享,但我只想使用它是登錄流和範圍保護器。

是否有可能通過OAuth? OAuth有其他選擇嗎?

回答

0

這對於OAuth 2.0來說是可能的,事實上也是其中一個目標:您可以頒發和使用具有特定「範圍」(OAuth 2.0概念)的訪問令牌,這些範圍可能與客戶端擁有的權限相關聯讀/寫,API A,API B)。

但是您需要從您自己的授權服務器發出您自己的訪問令牌。您可以允許用戶使用他們的Facebook帳戶登錄到該授權服務器。

+0

您可以擴展流量嗎?在我的用戶登錄到我的Api之後,什麼是用範圍來生成OAuth訪問令牌的流程? –

+0

我讀到的所有有關OAuth的內容都是關於讓用戶能夠與第三方共享其詳細信息..我只是需要登錄流.. –

+0

使用OAuth進行登錄使用OpenID Connect –