revokeSession method

void revokeSession(
  1. String sessionId, {
  2. String reason = 'admin',
})

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);
  }
}