fix: support generating tokens for other strategies.

This commit is contained in:
James Harton 2023-09-18 11:28:40 +12:00
parent 6925d07262
commit 9ade1e978d
Signed by: james
GPG key ID: 90E82DAA13F624F4

View file

@ -23,7 +23,8 @@ defmodule AshAuthentication.GenerateTokenChange do
end)
end
defp generate_token(purpose, record, strategy) when purpose in [:user, :sign_in] do
defp generate_token(purpose, record, strategy)
when purpose in [:user, :sign_in] and is_integer(strategy.sign_in_token_lifetime) do
{:ok, token, _claims} =
Jwt.token_for_user(record, %{"purpose" => to_string(purpose)},
token_lifetime: strategy.sign_in_token_lifetime
@ -31,4 +32,10 @@ defmodule AshAuthentication.GenerateTokenChange do
Ash.Resource.put_metadata(record, :token, token)
end
defp generate_token(purpose, record, _strategy) do
{:ok, token, _claims} = Jwt.token_for_user(record, %{"purpose" => to_string(purpose)})
Ash.Resource.put_metadata(record, :token, token)
end
end