# `WardrikDaemon.Config.OAuth`

Reads `config.yaml`'s `oauth`: the providers people connect accounts with.

    oauth:
      providers:
        github:
          issuer: https://github.com/login/oauth
          client_id: ${GITHUB_CLIENT_ID}
          client_secret: ${GITHUB_CLIENT_SECRET}
          scopes: [repo]
          flow: device

Each provider is named like the credential it grants. It takes `issuer`, `resource`,
`client_id`, `client_secret`, `authorization_endpoint`, `token_endpoint`, `scopes`, `flow`
(`browser` or `device`) and `client_auth` (`post` or `basic`). See `WardrikOAuth.Provider`.

# `read`

```elixir
@spec read(map() | nil) :: {:ok, keyword()} | {:error, String.t()}
```

Returns the providers `section` names, as `WardrikOAuth` takes them, or the key that doesn't read.

---

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