# `EzAuth.Strategy`
[🔗](https://github.com/thiagomajesk/ez_auth/blob/v0.1.0/lib/ez_auth/strategy.ex#L1)

Behaviour implemented by authentication strategies.

# `meta`

```elixir
@type meta() :: %{
  id: atom(),
  name: String.t(),
  identity: atom(),
  kind: :credential | :passwordless | :social,
  callback_methods: [atom()]
}
```

# `result`

```elixir
@type result() :: {:ok, Plug.Conn.t(), user :: struct()} | {:error, reason :: term()}
```

# `callback`

```elixir
@callback callback(conn :: Plug.Conn.t(), params :: map()) :: result()
```

# `request`

```elixir
@callback request(conn :: Plug.Conn.t(), params :: map()) :: result()
```

# `slug`

# `supported_strategies`

---

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