2016-10-06 101 views
0

我有一個產品調用多個第三方休息api的某些數據提取。 有多個供應商API需要oAuth支持。他們可以授予我帳戶和客戶端訪問他們的API,但我的服務需要使用這些帳戶和他們的CI生成令牌。通用OAuth客戶端集成

如何構建通用框架來支持多個供應商配置項。 我認爲這有點複雜,因爲一些供應商使用oAuth1,一些使用oAuth 2 .. 是否有任何現有的解決方案呢? 如何處理令牌刷新?

例如:

一個供應商可以是谷歌使用谷歌CI其它 賣方可以是實使用他們的CI。

回答

0

的工作流程是非常Facebook和谷歌,所以後端(和前端,在一定程度上)之間同樣可以肯定是在一個通用的方式來設計:僅

  • 安裝客戶端ID 爲實際的客戶端應用程序(因此Authorized JavaScript origins),而不是爲後端,也。
  • 每個客戶,每個OAuth的提供商
  • 通過一個共同的抽象模型
  • 驗證在服務器端的令牌(這是每個供應商做不同的發送數據(提供令牌)的後端/ API集成,但你可以具有IProviderAuthValidator和幾個inmplementations)
  • 創建賬戶/登錄等

因此,唯一特殊化位應該是這些2: - 取提供商令牌的客戶端 - 驗證所述令牌服務器SI de