Packages
phauxth
2.5.0
2.5.1
retired
2.5.0
2.4.0
2.3.2
2.3.1
2.3.0
2.2.0
2.1.1
2.1.0
2.0.1
2.0.0
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
2.0.0-beta.1
2.0.0-beta.0
2.0.0-alpha.5
2.0.0-alpha.4
retired
2.0.0-alpha.3
retired
2.0.0-alpha.2
retired
2.0.0-alpha.1
retired
2.0.0-alpha.0
retired
1.2.9
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.1
1.2.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.3
1.0.2
1.0.1
1.0.0
0.17.1
0.17.0
0.16.0
0.15.1
0.15.0
0.14.0
0.13.0-rc.1
0.13.0-rc.0
0.12.1-rc.1
0.12.1-rc.0
0.12.0-rc
0.11.0
0.10.3
0.10.2
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
Authentication library for Phoenix, and other Plug-based, web applications
Current section
Files
Jump to
Current section
Files
lib/phauxth/confirm/pass_reset.ex
defmodule Phauxth.Confirm.PassReset do
@moduledoc """
Module to provide user confirmation when resetting passwords.
## Options
There are two options:
* `:user_context` - the user_context module
* this can also be set in the config
* `:log_meta` - additional custom metadata for Phauxth.Log
* this should be a keyword list
There are also options for verifying the token. See the documentation
for the Phauxth.Token module for details.
"""
use Phauxth.Confirm.Base
@impl true
def report({:ok, user}, meta), do: log_output(user, meta)
def report(result, meta), do: super(result, meta)
defp log_output(%{confirmed_at: nil}, meta) do
Log.warn(%Log{message: "unconfirmed user attempting to reset password", meta: meta})
{:error, Config.user_messages().default_error()}
end
defp log_output(%{reset_sent_at: nil}, meta) do
Log.warn(%Log{message: "no reset token found", meta: meta})
{:error, Config.user_messages().invalid_token()}
end
defp log_output(user, meta) do
Log.info(%Log{user: user.id, message: "user confirmed for password reset", meta: meta})
{:ok, Map.drop(user, Config.drop_user_keys())}
end
end