Session Object
String userId = session.getUserId();
- This function does not do any database call.
Map<String, Object> jwtPayload = session.getJWTPayload();
- This function does not do any database call.
updateJWTPayload
function: API Reference
Map<String, Object> newData = new HashMap<>();
newData.put("key", "value");
session.updateJWTPayload(newData);
- This function will change the current access token
- This function requires a database call each time it's called.
Map<String, Object> sessionData = session.getSessionData();
- This function requires a database call each time it's called.
updateSessionData
function: API Reference
Map<String, Object> newData = new HashMap<>();
newData.put("key", "value");
session.updateSessionData(newData);
- This function overwrites the current session data stored for this session.
- This function requires a database call each time it's called.
session.revokeSession();
- This function deletes the session from the database and clears relevant auth cookies
- If using blacklisting, this will immediately invalidate the JWT access token.
Example
import io.supertokens.javalin.*;
app.before("/test", SuperTokens.middleware());
app.post("/test", ctx -> {
Session session = SuperTokens.getFromContext(ctx);
String userId = session.getUserId();
Map<String, Object> sessionData = session.getSessionData();
sessionData.put("newKey", 123);
session.updateSessionData(newSessionData);
Map<String, Object> payloadData = session.getJWTPayload();
payloadData.put("newKey", 123);
session.updateJWTPayload(payloadData);
session.revokeSession();
ctx.result("");
});