Lti_1p3.KeyProviderSupervisor (Lti 1p3 v0.10.0)

Supervisor for the key provider infrastructure.

This supervisor manages the key provider GenServer and any related processes needed for key caching and refresh functionality.

usage

Usage

Add this supervisor to your application's supervision tree:

children = [
  # ... other children
  {Lti_1p3.KeyProviderSupervisor, key_provider_opts()}
]

Supervisor.start_link(children, opts)

configuration

Configuration

The supervisor accepts the following options:

  • :key_provider - The key provider module to use (default: Lti_1p3.KeyProviders.MemoryKeyProvider)
  • :key_provider_opts - Options to pass to the key provider (default: [])
  • :refresh_interval - Automatic refresh interval in seconds (default: 1800 - 30 minutes)
  • :cache_ttl - Default cache TTL in seconds (default: 3600 - 1 hour)

Example:

{Lti_1p3.KeyProviderSupervisor, [
  key_provider: Lti_1p3.KeyProviders.MemoryKeyProvider,
  refresh_interval: 600,  # 10 minutes
  cache_ttl: 1800        # 30 minutes
]}

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

Link to this section Functions

Link to this function

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

start_link(opts \\ [])