Skip to content

Commit 5836eeb

Browse files
MarcialRosalesmergify[bot]
authored andcommitted
Do not expose which backend was used
instead just indicate if the user is internal or not (cherry picked from commit f0adf3a)
1 parent 996c99b commit 5836eeb

File tree

3 files changed

+23
-18
lines changed

3 files changed

+23
-18
lines changed

deps/rabbitmq_management/priv/www/js/global.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -710,9 +710,6 @@ function DisplayControl() {
710710

711711
}
712712

713-
function is_internal_user(user) {
714-
return user.backends.includes("rabbit_auth_backend_internal");
715-
}
716713

717714
// Set up the above vars
718715
function setup_global_vars(overview) {
@@ -729,9 +726,9 @@ function setup_global_vars(overview) {
729726
'<li>Cluster ' + (user_administrator ? '<a href="#/cluster-name">' + cluster_name + '</a>' : cluster_name) + '</li>'
730727
);
731728

732-
user_name = fmt_escape_html(user.name);
729+
user_name = fmt_escape_html(user.name);
733730
$('#header #logout').prepend(
734-
'User ' + (user_administrator && is_internal_user(user) ? '<a href="#/users/' + user_name + '">' + user_name + '</a>' : user_name)
731+
'User ' + (user_administrator && user.is_internal_user ? '<a href="#/users/' + user_name + '">' + user_name + '</a>' : user_name)
735732
);
736733

737734
var product = overview.rabbitmq_version;

deps/rabbitmq_management/src/rabbit_mgmt_oauth_bootstrap.erl

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,31 +26,38 @@ bootstrap_oauth(Req0, State) ->
2626
Dependencies = oauth_dependencies(),
2727
JSContent = import_dependencies(Dependencies) ++
2828
set_oauth_settings(AuthSettings) ++
29-
case proplists:get_value(oauth_enabled, AuthSettings, false) of
30-
true -> set_token_auth(Req0) ++ export_dependencies(oauth_dependencies());
31-
false -> export_dependencies(["oauth_initialize_if_required", "set_oauth_settings"])
32-
end,
33-
{ok, cowboy_req:reply(200, #{<<"content-type">> => <<"text/javascript; charset=utf-8">>}, JSContent, Req0), State}.
29+
set_token_auth(AuthSettings, Req0) ++
30+
export_dependencies(Dependencies),
31+
{ok, cowboy_req:reply(200, #{<<"content-type">> => <<"text/javascript; charset=utf-8">>},
32+
JSContent, Req0), State}.
3433

3534
set_oauth_settings(AuthSettings) ->
3635
JsonAuthSettings = rabbit_json:encode(rabbit_mgmt_format:format_nulls(AuthSettings)),
3736
["set_oauth_settings(", JsonAuthSettings, ");"].
38-
39-
set_token_auth(Req0) ->
40-
case application:get_env(rabbitmq_management, oauth_enabled, false) of
41-
true ->
37+
38+
set_token_auth(AuthSettings, Req0) ->
39+
case proplists:get_value(oauth_enabled, AuthSettings, false) of
40+
true ->
4241
case cowboy_req:parse_header(<<"authorization">>, Req0) of
4342
{bearer, Token} -> ["set_token_auth('", Token, "');"];
4443
_ -> []
4544
end;
46-
false -> []
45+
false ->
46+
[]
4747
end.
4848

4949
import_dependencies(Dependencies) ->
5050
["import {", string:join(Dependencies, ","), "} from './helper.js';"].
5151

5252
oauth_dependencies() ->
53-
["oauth_initialize_if_required", "hasAnyResourceServerReady", "oauth_initialize", "oauth_initiate", "oauth_initiateLogin", "oauth_initiateLogout", "oauth_completeLogin", "oauth_completeLogout", "set_oauth_settings"].
53+
["oauth_initialize_if_required",
54+
"hasAnyResourceServerReady",
55+
"oauth_initialize", "oauth_initiate",
56+
"oauth_initiateLogin",
57+
"oauth_initiateLogout",
58+
"oauth_completeLogin",
59+
"oauth_completeLogout",
60+
"set_oauth_settings"].
5461

5562
export_dependencies(Dependencies) ->
5663
[ io_lib:format("window.~s = ~s;", [Dep, Dep]) || Dep <- Dependencies ].

deps/rabbitmq_management_agent/src/rabbit_mgmt_format.erl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,10 +269,11 @@ internal_user(User) ->
269269
{tags, tags_as_binaries(internal_user:get_tags(User))},
270270
{limits, internal_user:get_limits(User)}].
271271

272-
user(User) ->
272+
user(User) ->
273273
[{name, User#user.username},
274274
{tags, tags_as_binaries(User#user.tags)},
275-
{backends, [ Module || {Module, _} <- User#user.authz_backends]}].
275+
{is_internal_user, lists:any(fun({Module,_}) -> Module == rabbit_auth_backend_internal end,
276+
User#user.authz_backends)}].
276277

277278
tags_as_binaries(Tags) ->
278279
[to_binary(T) || T <- Tags].

0 commit comments

Comments
 (0)