# `Parrhesia.Auth.Challenges`

Connection-scoped NIP-42 challenge storage.

# `challenge`

```elixir
@type challenge() :: String.t()
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `clear`

```elixir
@spec clear(pid()) :: :ok
```

# `clear`

```elixir
@spec clear(GenServer.server(), pid()) :: :ok
```

# `current`

```elixir
@spec current(pid()) :: challenge() | nil
```

# `current`

```elixir
@spec current(GenServer.server(), pid()) :: challenge() | nil
```

# `issue`

```elixir
@spec issue(pid()) :: challenge()
```

# `issue`

```elixir
@spec issue(GenServer.server(), pid()) :: challenge()
```

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

# `valid?`

```elixir
@spec valid?(pid(), challenge()) :: boolean()
```

# `valid?`

```elixir
@spec valid?(GenServer.server(), pid(), challenge()) :: boolean()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
