簡體   English   中英

如何驗證微服務的請求源

[英]How to validate request source for a microservice

我有一個基於Spring的微服務,它向基於react.js的Web客戶端應用程序和使用react-native構建的移動應用程序提供數據。 這些應用程序托管在雲上。

我想允許來自這2個客戶端應用程序的REST調用,並阻止任何其他請求源來保護我的應用程序。 我當時想使用隨每個請求傳遞的APP ID,但這不會保護服務,因為擁有APP ID的任何人都可以侵入我的REST服務。 有人可以建議解決此問題的最佳方法。

有幾種保護端點的方法,但最常用的是基於JWT令牌的授權

  • 創建端點,例如/ auth / api。
  • 在您的應用程序登錄過程中,從身份驗證端點(例如auth / signIn)獲取基於JWT的令牌。
  • 從認證結果中提取令牌。
  • 將HTTP標頭授權值設置為Bearer jwt_token。
  • 然后發送訪問受保護資源的請求。
  • 如果請求的資源受到保護,Spring Security將使用我們的自定義過濾器來驗證JWT令牌,並構建一個Authentication對象,並在特定於Spring Security的SecurityContextHolder中對其進行設置,以完成身份驗證進度。
  • 如果JWT令牌有效,它將把請求的資源返回給客戶端。

請閱讀Spring JWT中間件教程

另一種方法是Oauth2 ,您需要創建Oauth2服務器,該服務器充當授權服務器,在該服務器中,客戶端與clientID和客戶端Secret關聯,並且您使用訪問令牌批准訪問。

暫無
暫無

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

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