[英]How to authenticate the request in this microservice?
我的Web應用程序(App1)將用戶憑證存儲在DB中。 App1需要與微服務app2對話(使用相同的DB)。 我沒有得到如何驗證app2上app1發送的請求的身份?
我的方法:
將用戶名/密碼(客戶端發送給app1)發送給app2。 如果成功生成新的jsessionId並將其發送回app1,則App2將在數據庫中進行身份驗證。 現在,app1需要與app2通信,它將使用app2驗證並允許的同一會話。 這種方法看起來不錯還是還有其他更好的方法?
有幾種方法各有利弊
您正在執行的操作是簡單身份驗證,看起來很簡單,代表用戶執行調用,但是您需要傳遞用戶憑據,並且您沒有簡單的方法來驗證app2的會話是否仍然有效
另一種方法是使用令牌(例如jwt令牌),app2可以在不傳遞用戶憑據或會話cookie的情況下進行驗證(令牌可以由app1或身份提供者簽名),或使用oauth令牌,其中每個應用可以通過通用身份驗證令牌IdP(身份提供者)
app1可以通過自己的應用程序憑據進行身份驗證(例如,當app2在api網關后面時)
因此有多種選擇,您可以選擇一種以適合您的環境和長期解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.