簡體   English   中英

使用微服務中的json Web令牌進行會話管理

[英]Session management using json web tokens in microservices

我試圖找出如何在微服務架構中使用json web令牌管理會話。

望着這在設計上的文章我目前想到的是,客戶端會發送首先通過防火牆進入的請求。 此請求將包含防火牆發送給授權服務器的opaque / reference令牌。 授權服務器使用包含用戶的所有會話信息的值令牌進行響應。 然后,防火牆將請求與值令牌一起傳遞給API,然后值令牌將傳播到完成請求所需的所有不同微服務。

我有兩個問題:

  1. 如何處理值令牌中會話信息的更新? 詳細說明,當令牌中的會話信息更新時,需要在授權服務器中更新。 更改令牌的每個服務是否應與授權服務器通信?
  2. 是否所有微服務都使用此單個令牌來存儲其會話信息? 或者每個服務都有更好的個性化令牌? 如果是后者,請說明如何調整設計。

一個非常顯著“美中不足”,這需要你的一部分想仔細的預先......就是這種設計...的(!):“ 正是通過‘會話’信息指的是”在這個架構中,“每個人都和其他人一起比賽 。“如果會話信息更新了 ,你就不會,而且基本上不能(!)知道哪些代理知道這個變化,哪個不知道。 為了使事情進一步復雜化,新請求以異步方式到達,並以不可預測的方式與其他請求重疊。

因此,授權服務器必須完全是......而且不會更多。 它驗證(驗證...)不透明令牌,並提供有關請求被授權執行的可信賴描述。 但是,它所掌握的信息基本上無法改變。 具體而言,它無法在該術語的Web服務器意義上保存“會話狀態”數據。

每個微服務提供商必須維護自己的“tote board”*(我的術語......“它自己的特定子集,在web服務器中將是'會話池'”),並且它是可取的但不總是可行的董事會將獨立於其他董事會。 幾乎可以肯定,它必須使用中央數據庫(帶有交易)與其他類似位置的服務提供商進行協調。 而且,如果事實是任何這些“手提包”的內容與其他任何“手提包”有因果關系,那么現在他們之間就會出現一個不同步的問題。

appeal, IMHO designs must be carefully studied to be certain that they are, in fact, compatible with this approach. 雖然微服務架構具有一定的吸引力,但必須仔細研究IMHO設計,以確保它們實際上與這種方法兼容。

暫無
暫無

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

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