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