From 5c61d43345202e1b89eb6359b943f50ba1e31989 Mon Sep 17 00:00:00 2001 From: Ryan Zidago <46972947+ryanzidago@users.noreply.github.com> Date: Wed, 17 Aug 2022 12:09:56 +0200 Subject: [PATCH] Allow dynamic configs --- lib/ueberauth/strategy/microsoft.ex | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/ueberauth/strategy/microsoft.ex b/lib/ueberauth/strategy/microsoft.ex index e750d9b..bb52474 100644 --- a/lib/ueberauth/strategy/microsoft.ex +++ b/lib/ueberauth/strategy/microsoft.ex @@ -134,10 +134,20 @@ defmodule Ueberauth.Strategy.Microsoft do base_options = [redirect_uri: callback_url(conn)] request_options = conn.private[:ueberauth_request_options].options - case {request_options[:client_id], request_options[:client_secret]} do - {nil, _} -> base_options - {_, nil} -> base_options - {id, secret} -> [client_id: id, client_secret: secret] ++ base_options + request_options = + Keyword.take(request_options, [ + :tenant_id, + :client_id, + :client_secret, + :authorize_url, + :token_url, + :request_opts + ]) + + if nil in Keyword.values(request_options) do + base_options + else + request_options ++ base_options end end