Docs menu: vestibule/config

vestibule/config

OAuth client configuration and per-authorization request options.

vestibule/config

OAuth client configuration and per-authorization request options.

Types

AuthorizeOptions

Per-authorization request options.

pub type AuthorizeOptions

ClientAuth

OAuth client authentication method.

pub type ClientAuth {
  PublicClient
  ClientSecret(String)
  ClientAssertion(String)
}

ClientConfig

Durable OAuth client configuration.

pub type ClientConfig

Functions

authorize_options

Create empty per-authorization request options.

pub fn authorize_options() -> AuthorizeOptions

client_auth

Return the configured OAuth client authentication method.

pub fn client_auth(ClientConfig) -> ClientAuth

client_id

Return the configured OAuth client ID.

pub fn client_id(ClientConfig) -> String

client_secret

Return a client secret value when the authentication method provides one.

pub fn client_secret(ClientConfig) -> Result(String, error.AuthError(a))

extra_params

Return configured extra authorization query parameters.

pub fn extra_params(AuthorizeOptions) -> dict.Dict(String, String)

new

Create durable client configuration.

pub fn new(
  client_id: String,
  redirect_uri: String,
  auth: ClientAuth
) -> ClientConfig

redirect_uri

Return the redirect URI registered with the provider.

pub fn redirect_uri(ClientConfig) -> String

scopes

Return configured per-request scopes.

pub fn scopes(AuthorizeOptions) -> List(String)

with_extra_params

Add extra query parameters to an authorization request, merging them into any previously added parameters. Later values win on duplicate keys.

Reserved OAuth authorization parameters are rejected so callers cannot override values generated by Vestibule or provider strategies.

pub fn with_extra_params(
  AuthorizeOptions,
  List(#(String, String))
) -> Result(AuthorizeOptions, error.AuthError(a))

with_scopes

Set custom scopes for an authorization request, replacing any defaults.

pub fn with_scopes(
  AuthorizeOptions,
  List(String)
) -> AuthorizeOptions