revokeSession method
Revokes sessionId with reason and appends the personal session.revoked (05 6).
Implementation
void revokeSession(String sessionId, {String reason = 'admin'}) {
final s = sessions[sessionId];
if (s == null || s.revoked) return;
s.revoked = true;
append(
'session.revoked',
resource: {'kind': 'auth_session', 'id': sessionId},
payload: {'session_id': sessionId, 'reason': reason},
audience: s.userId,
);
// Revoking an app session revokes the child sessions of its extensions (08 7.4).
for (final child
in sessions.values.where((c) => c.parentId == sessionId).toList()) {
revokeSession(child.id, reason: reason);
}
}