# wardrik_oauth v0.1.0-rc.1 - API Reference

## Modules

- [WardrikOAuth](WardrikOAuth.md): OAuth sign-in for WardrikCore agents. Grants are sealed in a `WardrikVault`.
- [WardrikOAuth.Browser](WardrikOAuth.Browser.md): Browser sign-in: the authorization code flow with PKCE, on the service's own page.

- [WardrikOAuth.ClientSecrets](WardrikOAuth.ClientSecrets.md): Seals client secrets in the vault, not the store.
- [WardrikOAuth.Device](WardrikOAuth.Device.md): Device sign-in (RFC 8628): the principal enters a code on any device.

- [WardrikOAuth.Flow](WardrikOAuth.Flow.md): A process for one sign-in under way. It ends when the principal finishes, or after 15 minutes.

- [WardrikOAuth.Metadata](WardrikOAuth.Metadata.md): An authorization server's metadata, discovered from its issuer or resource.

- [WardrikOAuth.Plug](WardrikOAuth.Plug.md): Serves the sign-in pages. Mount it at `WardrikOAuth`'s `page`.
- [WardrikOAuth.Provider](WardrikOAuth.Provider.md): An OAuth app with a service. It has the same name as the credential it grants.
- [WardrikOAuth.Registration](WardrikOAuth.Registration.md): Makes Wardrik a client of an authorization server it has no `client_id` for.
- [WardrikOAuth.Renewal](WardrikOAuth.Renewal.md): Keeps a principal's grant usable by refreshing it when it expires.
- [WardrikOAuth.Request](WardrikOAuth.Request.md): Sends a flow's requests to an authorization server.
- [WardrikOAuth.Token](WardrikOAuth.Token.md): A token an authorization server granted. Kept in the vault as JSON.

