Packages

Extensible password management

Current section

Files

Jump to
hora lib hora.ex
Raw

lib/hora.ex

defmodule Hora do
@type opts :: map | list
@doc false
def init(opts) do
[
adapter: Hora.Util.get_config!(Hora, :adapter, opts),
adapter_options: Hora.Util.get_config(Hora, :adapter_options, opts) || []
]
end
defmacro __using__(opts) do
options = Hora.init(opts)
quote do
def authenticate(secured_password, password) do
adapter = unquote(options)[:adapter]
adapter_options = unquote(options)[:adapter_options]
adapter
.verify_password(password, secured_password, adapter.init(adapter_options))
end
def secure_password(password) do
adapter = unquote(options)[:adapter]
adapter_options = unquote(options)[:adapter_options]
adapter
.secure_password(password, adapter.init(adapter_options))
end
end
end
end