Skip to content

Commit 20c39e8

Browse files
Do not expose which backend was used
instead just indicate if the user is internal or not
1 parent 26489f6 commit 20c39e8

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
@@ -698,9 +698,6 @@ function DisplayControl() {
698698

699699
}
700700

701-
function is_internal_user(user) {
702-
return user.backends.includes("rabbit_auth_backend_internal");
703-
}
704701

705702
// Set up the above vars
706703
function setup_global_vars(overview) {
@@ -717,9 +714,9 @@ function setup_global_vars(overview) {
717714
'<li>Cluster ' + (user_administrator ? '<a href="#/cluster-name">' + cluster_name + '</a>' : cluster_name) + '</li>'
718715
);
719716

720-
user_name = fmt_escape_html(user.name);
717+
user_name = fmt_escape_html(user.name);
721718
$('#header #logout').prepend(
722-
'User ' + (user_administrator && is_internal_user(user) ? '<a href="#/users/' + user_name + '">' + user_name + '</a>' : user_name)
719+
'User ' + (user_administrator && user.is_internal_user ? '<a href="#/users/' + user_name + '">' + user_name + '</a>' : user_name)
723720
);
724721

725722
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
@@ -20,31 +20,38 @@ bootstrap_oauth(Req0, State) ->
2020
Dependencies = oauth_dependencies(),
2121
JSContent = import_dependencies(Dependencies) ++
2222
set_oauth_settings(AuthSettings) ++
23-
case proplists:get_value(oauth_enabled, AuthSettings, false) of
24-
true -> set_token_auth(Req0) ++ export_dependencies(oauth_dependencies());
25-
false -> export_dependencies(["oauth_initialize_if_required", "set_oauth_settings"])
26-
end,
27-
{ok, cowboy_req:reply(200, #{<<"content-type">> => <<"text/javascript; charset=utf-8">>}, JSContent, Req0), State}.
23+
set_token_auth(AuthSettings, Req0) ++
24+
export_dependencies(Dependencies),
25+
{ok, cowboy_req:reply(200, #{<<"content-type">> => <<"text/javascript; charset=utf-8">>},
26+
JSContent, Req0), State}.
2827

2928
set_oauth_settings(AuthSettings) ->
3029
JsonAuthSettings = rabbit_json:encode(rabbit_mgmt_format:format_nulls(AuthSettings)),
3130
["set_oauth_settings(", JsonAuthSettings, ");"].
32-
33-
set_token_auth(Req0) ->
34-
case application:get_env(rabbitmq_management, oauth_enabled, false) of
35-
true ->
31+
32+
set_token_auth(AuthSettings, Req0) ->
33+
case proplists:get_value(oauth_enabled, AuthSettings, false) of
34+
true ->
3635
case cowboy_req:parse_header(<<"authorization">>, Req0) of
3736
{bearer, Token} -> ["set_token_auth('", Token, "');"];
3837
_ -> []
3938
end;
40-
false -> []
39+
false ->
40+
[]
4141
end.
4242

4343
import_dependencies(Dependencies) ->
4444
["import {", string:join(Dependencies, ","), "} from './helper.js';"].
4545

4646
oauth_dependencies() ->
47-
["oauth_initialize_if_required", "hasAnyResourceServerReady", "oauth_initialize", "oauth_initiate", "oauth_initiateLogin", "oauth_initiateLogout", "oauth_completeLogin", "oauth_completeLogout", "set_oauth_settings"].
47+
["oauth_initialize_if_required",
48+
"hasAnyResourceServerReady",
49+
"oauth_initialize", "oauth_initiate",
50+
"oauth_initiateLogin",
51+
"oauth_initiateLogout",
52+
"oauth_completeLogin",
53+
"oauth_completeLogout",
54+
"set_oauth_settings"].
4855

4956
export_dependencies(Dependencies) ->
5057
[ 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
@@ -263,10 +263,11 @@ internal_user(User) ->
263263
{tags, tags_as_binaries(internal_user:get_tags(User))},
264264
{limits, internal_user:get_limits(User)}].
265265

266-
user(User) ->
266+
user(User) ->
267267
[{name, User#user.username},
268268
{tags, tags_as_binaries(User#user.tags)},
269-
{backends, [ Module || {Module, _} <- User#user.authz_backends]}].
269+
{is_internal_user, lists:any(fun({Module,_}) -> Module == rabbit_auth_backend_internal end,
270+
User#user.authz_backends)}].
270271

271272
tags_as_binaries(Tags) ->
272273
[to_binary(T) || T <- Tags].

0 commit comments

Comments
 (0)