Liking cljdoc? Tell your friends :D

boundary.realtime.core.auth

Pure functions for WebSocket authentication logic.

Following FC/IS pattern - all functions are pure (no I/O). JWT token extraction and validation logic. Actual JWT verification delegated to shell/ports.

Pure functions for WebSocket authentication logic.

Following FC/IS pattern - all functions are pure (no I/O).
JWT token extraction and validation logic.
Actual JWT verification delegated to shell/ports.
raw docstring

auth-errorclj

(auth-error reason)
(auth-error reason details)

Create authentication error result.

Pure function - standardized error format.

Args: reason - Error reason string details - Optional details map

Returns: Error map

Create authentication error result.

Pure function - standardized error format.

Args:
  reason - Error reason string
  details - Optional details map

Returns:
  Error map
sourceraw docstring

connection-authorized?clj

(connection-authorized? jwt-claims config now-seconds)

Determine if connection should be authorized based on JWT claims.

Pure function - encapsulates authorization logic.

Args: jwt-claims - JWT claims map config - Authorization config map with: :required-permissions (optional) - Set of required permissions :required-roles (optional) - Set of required roles :allow-expired (optional) - Boolean, default false now-seconds - Current time in seconds since epoch

Returns: {:authorized? boolean :reason string (if not authorized)}

Determine if connection should be authorized based on JWT claims.

Pure function - encapsulates authorization logic.

Args:
  jwt-claims - JWT claims map
  config - Authorization config map with:
           :required-permissions (optional) - Set of required permissions
           :required-roles (optional) - Set of required roles
           :allow-expired (optional) - Boolean, default false
  now-seconds - Current time in seconds since epoch

Returns:
  {:authorized? boolean
   :reason string (if not authorized)}
sourceraw docstring

explain-jwt-claimsclj

(explain-jwt-claims claims)

Explain why JWT claims are invalid.

Pure function - returns validation errors.

Args: claims - JWT claims map

Returns: Malli explanation or nil if valid

Explain why JWT claims are invalid.

Pure function - returns validation errors.

Args:
  claims - JWT claims map

Returns:
  Malli explanation or nil if valid
sourceraw docstring

extract-token-from-queryclj

(extract-token-from-query query-params)

Extract JWT token from query parameters.

Pure function - no side effects.

Args: query-params - Map of query parameters

Returns: Token string or nil if not found

Extract JWT token from query parameters.

Pure function - no side effects.

Args:
  query-params - Map of query parameters

Returns:
  Token string or nil if not found
sourceraw docstring

extract-token-from-query-stringclj

(extract-token-from-query-string query-string)

Extract JWT token from query string.

Pure function - combines parsing and extraction.

Args: query-string - URL query string

Returns: Token string or nil if not found

Extract JWT token from query string.

Pure function - combines parsing and extraction.

Args:
  query-string - URL query string

Returns:
  Token string or nil if not found
sourceraw docstring

extract-token-from-requestclj

(extract-token-from-request request)

Extract JWT token from request map.

Pure function - tries multiple common locations.

Args: request - Request map (Ring-style) with: :query-string - Query string :query-params - Parsed query params map :headers - Headers map

Returns: Token string or nil if not found

Extract JWT token from request map.

Pure function - tries multiple common locations.

Args:
  request - Request map (Ring-style) with:
            :query-string - Query string
            :query-params - Parsed query params map
            :headers - Headers map

Returns:
  Token string or nil if not found
sourceraw docstring

has-all-permissions?clj

(has-all-permissions? jwt-claims required-permissions)

Check if JWT claims have all required permissions.

Pure function - no side effects.

Args: jwt-claims - JWT claims map with :permissions required-permissions - Set of permission keywords

Returns: Boolean - true if has all permissions

Check if JWT claims have all required permissions.

Pure function - no side effects.

Args:
  jwt-claims - JWT claims map with :permissions
  required-permissions - Set of permission keywords

Returns:
  Boolean - true if has all permissions
sourceraw docstring

has-any-permission?clj

(has-any-permission? jwt-claims required-permissions)

Check if JWT claims have any of required permissions.

Pure function - no side effects.

Args: jwt-claims - JWT claims map with :permissions required-permissions - Set of permission keywords

Returns: Boolean - true if has at least one permission

Check if JWT claims have any of required permissions.

Pure function - no side effects.

Args:
  jwt-claims - JWT claims map with :permissions
  required-permissions - Set of permission keywords

Returns:
  Boolean - true if has at least one permission
sourceraw docstring

has-any-role?clj

(has-any-role? jwt-claims required-roles)

Check if JWT claims have any of required roles.

Pure function - no side effects.

Args: jwt-claims - JWT claims map with :roles required-roles - Set of role keywords

Returns: Boolean - true if has at least one role

Check if JWT claims have any of required roles.

Pure function - no side effects.

Args:
  jwt-claims - JWT claims map with :roles
  required-roles - Set of role keywords

Returns:
  Boolean - true if has at least one role
sourceraw docstring

has-permission?clj

(has-permission? jwt-claims required-permission)

Check if JWT claims have required permission.

Pure function - no side effects.

Args: jwt-claims - JWT claims map with :permissions required-permission - Permission keyword required

Returns: Boolean - true if permission exists

Check if JWT claims have required permission.

Pure function - no side effects.

Args:
  jwt-claims - JWT claims map with :permissions
  required-permission - Permission keyword required

Returns:
  Boolean - true if permission exists
sourceraw docstring

has-role?clj

(has-role? jwt-claims required-role)

Check if JWT claims have required role.

Pure function - no side effects.

Args: jwt-claims - JWT claims map with :roles required-role - Role keyword required

Returns: Boolean - true if role exists

Check if JWT claims have required role.

Pure function - no side effects.

Args:
  jwt-claims - JWT claims map with :roles
  required-role - Role keyword required

Returns:
  Boolean - true if role exists
sourceraw docstring

parse-query-stringclj

(parse-query-string query-string)

Parse query string into map.

Pure function - deterministic for given input.

Args: query-string - URL query string (e.g., 'token=abc&foo=bar')

Returns: Map of query parameters {"token" "abc" "foo" "bar"}

Parse query string into map.

Pure function - deterministic for given input.

Args:
  query-string - URL query string (e.g., 'token=abc&foo=bar')

Returns:
  Map of query parameters {"token" "abc" "foo" "bar"}
sourceraw docstring

token-expired?clj

(token-expired? jwt-claims now-seconds)

Check if JWT token is expired.

Pure function - deterministic for given inputs.

Args: jwt-claims - JWT claims map with :exp now-seconds - Current time in seconds since epoch

Returns: Boolean - true if expired

Check if JWT token is expired.

Pure function - deterministic for given inputs.

Args:
  jwt-claims - JWT claims map with :exp
  now-seconds - Current time in seconds since epoch

Returns:
  Boolean - true if expired
sourceraw docstring

valid-jwt-claims?clj

(valid-jwt-claims? claims)

Validate JWT claims against schema.

Pure function - no side effects.

Args: claims - JWT claims map

Returns: Boolean - true if valid

Validate JWT claims against schema.

Pure function - no side effects.

Args:
  claims - JWT claims map

Returns:
  Boolean - true if valid
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close