簡體   English   中英

使用自己的 oauth2 實現時,使用 oAuth2 安全服務器連接到 3rd party rest api

[英]Connect to 3rd party rest api with oAuth2 security server when using own oauth2 implementing

我試圖找到一些關於如何解決我的問題的最佳實踐。

我有一個帶有 oauth2 和 firebase 的微服務應用程序,用於身份驗證和授權。 我們的應用程序需要連接到 3rd 方 rest api,該 api 也使用 oauth2 進行保護。

是否可以集成這兩種實現,還是我需要制定自己的解決方案?

我的一位同事實現了訪問 api 所需的授權代碼流,我們基本上將 access 和 refresh_tokens 存儲在數據庫中以訪問這個 3rd 方 api。 但感覺不對,我也找不到任何最佳實踐,有人可以幫我嗎?

您的同事實施的是非常典型的:將您自己的應用程序(您使用 Firebase 管理)的身份驗證和授權與授權您使用第 3 方 API 的用戶分開。

以下是您在實施 OAuth 流程時應遵循的一些最佳實踐:

  • 使用state參數來避免 CSRF 攻擊。 將其存儲在您的數據庫中,並將回調state與您為用戶隨機生成的state進行比較
  • 加密訪問和刷新令牌。 刷新令牌特別提供長期訪問
  • 驗證scope ,你問的是scope ,這是返回:一些供應商允許用戶調整的權限,這可能會導致意外的錯誤
  • 確保您的刷新令牌不會過期。 查看提供者的文檔以了解如何取消對刷新令牌的授權。 有些是基於時間的,有些是基於正在發布的新刷新令牌,但無論如何,請確保您的刷新令牌保持有效,如果不是,您必須讓用戶重新授權您的應用程序

您還可以使用托管 OAuth 提供程序來抽象出所有這些元素。 我正在研究的Xkit與 Firebase 身份驗證集成,因此您的用戶可以授權您的應用程序,並且您可以通過一個 API 調用檢索每個用戶的令牌。

暫無
暫無

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

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