Fetch all the sessions for a user
Given a user ID, we can fetch all sessions that are currently active for that user using the getAllSessionHandlesForUser
function:
import Session from "supertokens-node/recipe/session";
async function getSessions() {
let userId = "someUserId" // fetch somehow
// sessionHandles is string[]
let sessionHandles = await Session.getAllSessionHandlesForUser(userId);
sessionHandles.forEach((handle) => {
/* we can do the following with the handle:
* - revoke this session
* - change access token payload or session data
* - fetch access token payload or session data
*/
})
}
Multi Tenancy
By default, getAllSessionHandlesForUser will fetch all the sessionHandles for the user across all the tenants. If you want to fetch the sessions for a user in a specific tenant, you can pass the tenant ID as a parameter to the function call.