From ccd0eb00d916367b8e6c5a90fecd88fbd5c9a297 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Fri, 9 Aug 2024 11:18:31 -0400 Subject: [PATCH] fix: set options earlier in magic link/oauth2 --- .../strategies/magic_link/actions.ex | 8 ++++---- .../strategies/oauth2/actions.ex | 16 ++++++++++------ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/ash_authentication/strategies/magic_link/actions.ex b/lib/ash_authentication/strategies/magic_link/actions.ex index 34c053e..feae558 100644 --- a/lib/ash_authentication/strategies/magic_link/actions.ex +++ b/lib/ash_authentication/strategies/magic_link/actions.ex @@ -23,8 +23,8 @@ defmodule AshAuthentication.Strategy.MagicLink.Actions do strategy.resource |> Query.new() |> Query.set_context(%{private: %{ash_authentication?: true}}) - |> Query.for_read(strategy.request_action_name, params) - |> Ash.read(options) + |> Query.for_read(strategy.request_action_name, params, options) + |> Ash.read() |> case do {:ok, _} -> :ok {:error, reason} -> {:error, reason} @@ -44,8 +44,8 @@ defmodule AshAuthentication.Strategy.MagicLink.Actions do strategy.resource |> Query.new() |> Query.set_context(%{private: %{ash_authentication?: true}}) - |> Query.for_read(strategy.sign_in_action_name, params) - |> Ash.read(options) + |> Query.for_read(strategy.sign_in_action_name, params, options) + |> Ash.read() |> case do {:ok, [user]} -> {:ok, user} diff --git a/lib/ash_authentication/strategies/oauth2/actions.ex b/lib/ash_authentication/strategies/oauth2/actions.ex index 7b741c7..2b83986 100644 --- a/lib/ash_authentication/strategies/oauth2/actions.ex +++ b/lib/ash_authentication/strategies/oauth2/actions.ex @@ -33,8 +33,8 @@ defmodule AshAuthentication.Strategy.OAuth2.Actions do ash_authentication?: true } }) - |> Query.for_read(strategy.sign_in_action_name, params) - |> Ash.read(options) + |> Query.for_read(strategy.sign_in_action_name, params, options) + |> Ash.read() |> case do {:ok, [user]} -> {:ok, user} @@ -105,11 +105,15 @@ defmodule AshAuthentication.Strategy.OAuth2.Actions do ash_authentication?: true } }) - |> Changeset.for_create(strategy.register_action_name, params, - upsert?: true, - upsert_identity: action.upsert_identity + |> Changeset.for_create( + strategy.register_action_name, + params, + Keyword.merge(options, + upsert?: true, + upsert_identity: action.upsert_identity + ) ) - |> Ash.create(options) + |> Ash.create() end def register(%OAuth2{} = strategy, _params, _options),