2016-04-27 60 views
0

到目前爲止,我在Web應用中使用基於聲明的解決方案遇到的問題是,如果在SSO服務器上,我撤銷聲明或刪除用戶帳戶,則用戶的令牌仍然在其Cookie中,因此仍然有效,直到令牌到期,允許他們繼續訪問網絡應用程序。是否有辦法強制更新用戶的令牌或強制撤消令牌(或者每次用戶嘗試加載頁面時都要使用身份服務器進行檢查?),只要在服務器上進行更改?更新索賠也是一樣......有時我們會增加權利。用戶必須註銷並重新登錄纔會非常煩人。請幫助。我們使用的是C#Web Apps和Thinktecture IdentityServerv3如何在IdentityServer上進行更改時立即更新聲明或立即註銷用戶?

+0

如果您頻繁更改索賠,那麼也許您不應該將它們放入Cookie中。當然,這是一份索賠的副本。 –

+0

@BrockAllen我還能如何使用聲明,但不能將它們放入cookie中?此外,是否有任何方法未授權用戶,使他們不能再使用該網站了,如果我從IdentityServer中刪除他們的帳戶? – Pugz

+0

如果需要更多關於用戶的信息,您可以使用索賠轉換,或者只是進行數據庫的往返訪問。這是爲了不將聲明放入cookie中而進行的折衷。 –

回答

0

您可以使用刷新令牌和較小的驗證令牌生存期來強制客戶端定期回來。這不是立即撤銷,但它是一種簡單的方法,可以用來縮短服務器撤銷和客戶端更改之間的時間間隔。

Refresh tokens