Skip to content

Commit 0081e1d

Browse files
Merge pull request #12752 from rabbitmq/rabbitmq-server-12751-by-hathoute
By @Hathoute: consider additional_scopes_key when multiple OAuth 2 backends are used
2 parents 3b06815 + c44c515 commit 0081e1d

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_schema.erl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
-define(AUTH_OAUTH2_RESOURCE_SERVERS, ?AUTH_OAUTH2 ++ "." ++ ?RESOURCE_SERVERS).
1717
-define(AUTH_OAUTH2_OAUTH_PROVIDERS, ?AUTH_OAUTH2 ++ "." ++ ?OAUTH_PROVIDERS).
1818
-define(AUTH_OAUTH2_SIGNING_KEYS, ?AUTH_OAUTH2 ++ "." ++ ?SIGNING_KEYS).
19+
-define(RESOURCE_SERVERS_SYNONYMS, #{
20+
"additional_scopes_key" => "extra_scopes_source"
21+
}).
1922

2023
-export([
2124
translate_oauth_providers/1,
@@ -25,6 +28,8 @@
2528
translate_scope_aliases/1
2629
]).
2730

31+
resource_servers_key_synonym(Key) -> maps:get(Key, ?RESOURCE_SERVERS_SYNONYMS, Key).
32+
2833
extract_key_as_binary({Name,_}) -> list_to_binary(Name).
2934
extract_value({_Name,V}) -> V.
3035

@@ -240,7 +245,7 @@ extract_resource_server_properties(Settings) ->
240245
KeyFun = fun extract_key_as_binary/1,
241246
ValueFun = fun extract_value/1,
242247

243-
OAuthProviders = [{Name, {list_to_atom(Key), list_to_binary(V)}}
248+
OAuthProviders = [{Name, {list_to_atom(resource_servers_key_synonym(Key)), list_to_binary(V)}}
244249
|| {[?AUTH_OAUTH2, ?RESOURCE_SERVERS, Name, Key], V} <- Settings ],
245250
maps:groups_from_list(KeyFun, ValueFun, OAuthProviders).
246251

deps/rabbitmq_auth_backend_oauth2/test/config_schema_SUITE_data/rabbitmq_auth_backend_oauth2.snippets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
{id, <<"rabbitmq-operations">>}
102102
],
103103
<<"rabbitmq-customers">> => [
104-
{additional_scopes_key, <<"roles">>},
104+
{extra_scopes_source, <<"roles">>},
105105
{id, <<"rabbitmq-customers">>}
106106
]
107107
}

deps/rabbitmq_auth_backend_oauth2/test/rabbit_oauth2_schema_SUITE.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ test_resource_servers_attributes(_) ->
169169
{["auth_oauth2","resource_servers","rabbitmq1","preferred_username_claims","2"],
170170
"groupid"}
171171
],
172-
#{<<"rabbitmq1xxx">> := [{additional_scopes_key, <<"roles">>},
172+
#{<<"rabbitmq1xxx">> := [{extra_scopes_source, <<"roles">>},
173173
{id, <<"rabbitmq1xxx">>},
174174
{preferred_username_claims, [<<"userid">>, <<"groupid">>]},
175175
{scope_prefix, <<"somescope.">>}
@@ -186,7 +186,7 @@ test_resource_servers_attributes(_) ->
186186
{["auth_oauth2","resource_servers","rabbitmq1","preferred_username_claims","2"],
187187
"groupid"}
188188
],
189-
#{<<"rabbitmq1">> := [{additional_scopes_key, <<"roles">>},
189+
#{<<"rabbitmq1">> := [{extra_scopes_source, <<"roles">>},
190190
{id, <<"rabbitmq1">>},
191191
{preferred_username_claims, [<<"userid">>, <<"groupid">>]},
192192
{scope_prefix, <<"somescope.">>}

0 commit comments

Comments
 (0)