class

Comrade::ProviderConfig

Inherits Reference < Object

Configuration for OAuth providers

Constructors

from_env(name : String, client_id_env : String, client_secret_env : String | Nil = nil, redirect_uri : String = "", scopes : Array(String) = [] of String) : ProviderConfig

Create config from environment variables

Example: config = ProviderConfig.from_env("github", "GITHUB_CLIENT_ID", "GITHUB_CLIENT_SECRET")

Source
from_hash(hash : Hash(String, JSON::Any::Type)) : ProviderConfig

Create config from hash (useful for loading from files)

Source
new(name : String, client_id : String, redirect_uri : String, client_secret : String | Nil = nil, scopes : Array(String) = [] of String, additional_params : Hash(String, String) = {} of String => String)
Source

Instance methods

additional_params
Source
additional_params=(additional_params : Hash(String, String))
Source
client_id
Source
client_id=(client_id : String)
Source
client_secret
Source
client_secret=(client_secret : String | Nil)
Source
confidential_client?

Check if provider is configured for confidential client (has secret)

Source
name
Source
name=(name : String)
Source
public_client?

Check if provider is configured for public client (no secret)

Source
redirect_uri
Source
redirect_uri=(redirect_uri : String)
Source
scopes
Source
scopes=(scopes : Array(String))
Source
to_h

Convert to hash

Source
valid?

Check if configuration is valid

Source