pub struct Builder { /* private fields */ }Expand description
Configures an Adapter. Start one with Adapter::builder.
Implementations§
Source§impl Builder
impl Builder
Sourcepub fn auth_server_issuer(self, issuer: impl Into<String>) -> Self
pub fn auth_server_issuer(self, issuer: impl Into<String>) -> Self
The expected iss of the auth API’s tokens. Defaults to the auth server URL.
Set it when this server reaches the API at another URL than the issuer it
advertises.
Sourcepub fn audience(self, audience: impl Into<String>) -> Self
pub fn audience(self, audience: impl Into<String>) -> Self
The expected aud of the auth API’s tokens. The auth API sets it to its
issuer, so it defaults to the issuer.
Signs the session cookies. At least 32 bytes. Required.
Sourcepub fn service_secret(self, secret: impl Into<String>) -> Self
pub fn service_secret(self, secret: impl Into<String>) -> Self
Signs the service tokens the auth API trusts this adapter by. It holds the
same value as the API’s API_SERVICE_TOKEN; apps conventionally read it
from SEAMLESS_SERVICE_TOKEN. At least 32 bytes. Required.
Sourcepub fn jwks_kid(self, kid: impl Into<String>) -> Self
pub fn jwks_kid(self, kid: impl Into<String>) -> Self
The kid header on service tokens. Defaults to dev-main, a placeholder.
The cookie Domain attribute. None by default.
Drops the Secure attribute, for local development over plain HTTP.
Sourcepub fn same_site(self, same_site: SameSite) -> Self
pub fn same_site(self, same_site: SameSite) -> Self
The cookie SameSite attribute. Defaults to None, or Lax with
insecure_cookies.
Sourcepub fn allowed_origins<I, S>(self, origins: I) -> Self
pub fn allowed_origins<I, S>(self, origins: I) -> Self
The only cross-origin callers allowed to change state while cookies are
SameSite=None.
Session cookie names. Default seamless-access and seamless-refresh.
Sign-in flow cookie names. Both default to seamless-ephemeral.
Sourcepub fn deliver<F, Fut, E>(self, deliver: F) -> Self
pub fn deliver<F, Fut, E>(self, deliver: F) -> Self
Sends OTP codes and magic links through the application’s own transports.
With it, the adapter asks the auth API for the message instead of having
the API send it. A delivery error answers the request with 502
delivery_failed.
Sourcepub fn resolve_client_ip<F>(self, resolve: F) -> Self
pub fn resolve_client_ip<F>(self, resolve: F) -> Self
Resolves the end user’s address from the request headers and the
connecting peer. Defaults to the peer. Behind a proxy, use
trusted_proxies.
Sourcepub fn trusted_proxies(self, proxies: TrustedProxies) -> Self
pub fn trusted_proxies(self, proxies: TrustedProxies) -> Self
Resolves the end user’s address through these proxies.
Sourcepub fn disable_manifest_fetch(self, disable: bool) -> Self
pub fn disable_manifest_fetch(self, disable: bool) -> Self
Uses only the manifest bundled with this version instead of fetching the auth API’s on the first request.
Sourcepub fn http_client(self, client: Client) -> Self
pub fn http_client(self, client: Client) -> Self
The client for calls to the auth API. The default has a 15 second timeout and follows no redirects. A client that follows redirects would carry the service token to wherever the auth API pointed it.
Sourcepub fn build(self) -> Result<Adapter, BuildError>
pub fn build(self) -> Result<Adapter, BuildError>
Validates the configuration and returns the adapter.