Skip to content

Persist revoked sessions in MongoDB and Dapper identity storage #8588

Open

Description

@sfmskywalker

Problem

Sign-out revocation (POST /identity/logout + IRevokedSessionStore) is durable only when Identity persistence is EF Core (EFCoreRevokedSessionStore + the RevokedSessions migrations). The in-repo MongoDB and Dapper identity modules still expose only UserStore, RoleStore, and ApplicationStore. They do not implement IRevokedSessionStore and do not override IdentityFeature.RevokedSessionStore, so those hosts keep the default MemoryRevokedSessionStore.

On a multi-node Mongo/Dapper deployment, a logout on one node does not revoke the session on the others. A process restart also forgets revocations. Refresh tokens of a signed-out session can then be exchanged again.

This has not been published from main yet (it arrives with the 3.9 identity forward-port). Target 3.10 so the first main-line release that ships session revocation also has durable Mongo/Dapper stores.

Expected

MongoDB and Dapper identity persistence persist revoked sessions the same way EF Core does: add, exists, and delete-expired, tenant-agnostic, indexed on ExpiresAt. IdentityFeature.RevokedSessionStore is overridden when those modules are enabled, matching Elsa.Persistence.EFCore Identity.

Out of scope

Related

Activity

  1. added this to the 3.10 milestone on Oct 3, 2026
  2. added theissue type on Oct 3, 2026
  3. added
    coreThis issue relates to the core library
    persistenceThis issue relates to storing data
    elsa 3This issue is specific to Elsa 3
    prio highIs on the roadmap for the near-future
    on Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcoreThis issue relates to the core libraryelsa 3This issue is specific to Elsa 3persistenceThis issue relates to storing dataprio highIs on the roadmap for the near-futuretriaged

    Type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions