我們目前遇到一個Bug 是,如果使用者登入我們的網站後,開兩個視窗,此時兩個視窗都是登入網站的狀態,之後在其中一個視窗登出,另外一個視窗的Token會在五分鐘後過期。
我們現在是用Angular + IdentityServer + Micro Service( Serverless )
正常在Token過期後,理論上我們的Angular App,就會用這個過期的Token去Call 後端的 API, 當然後端因為Token過期就會丟出401Error 然而我們在Debug的時候,卻發現我們的Angular App Catch到的Error, Error Status 0, 似乎是哪邊有問題,有可能是我們用TokenInterceptor的問題,目前我們是研究不出來到底為什麼。
所以想說換個方法讓我們的Web app知道我們在另一個視窗登出,因為只要一登出,oidc-client 的UserManager會立刻通知另一個視窗說使用者已經登出,並且在developer tool可以看到 user not found in storage
但我們不知道這個oidc-client到底是怎麼運作的,是因為他持續一直load user? 但我們也研究不出來到底這個事怎麼運作的…
想請問版上的大大有人用過Angular + oidc-client 嗎? 或者用過TokenInterceptor? 感謝~~