Current section
Files
Jump to
Current section
Files
lib/strategy/firebase.ex
defmodule AshAuthentication.Strategy.Firebase do
@moduledoc """
AshAuthentication strategy for signing in with Firebase token.
"""
defstruct __spark_metadata__: nil,
name: :firebase,
project_id: nil,
token_input: nil,
register_action_name: nil,
sign_in_action_name: nil,
registration_enabled?: true,
require_email_verified?: true,
resource: nil,
strategy_module: __MODULE__
@type t :: %__MODULE__{
__spark_metadata__: term(),
name: atom(),
project_id: nil | String.t() | {module(), Keyword.t()},
token_input: atom() | nil,
register_action_name: atom() | nil,
sign_in_action_name: atom() | nil,
registration_enabled?: boolean(),
require_email_verified?: boolean(),
resource: module() | nil,
strategy_module: module()
}
alias AshAuthentication.Strategy.Firebase.{Dsl, Transformer, Verifier}
use AshAuthentication.Strategy.Custom, entity: Dsl.dsl()
defdelegate transform(strategy, dsl_state), to: Transformer
defdelegate verify(strategy, dsl_state), to: Verifier
end