From bc456671367c2d8860a2bf9c9570286ac18d5534 Mon Sep 17 00:00:00 2001 From: Eric Wittmann Date: Thu, 30 Jun 2022 14:43:30 -0400 Subject: [PATCH] The users/me endpoint now provides more accurate information based on various configs (#2602) --- .../main/java/io/apicurio/registry/auth/AuthConfig.java | 8 ++++++++ .../io/apicurio/registry/rest/v2/UsersResourceImpl.java | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/apicurio/registry/auth/AuthConfig.java b/app/src/main/java/io/apicurio/registry/auth/AuthConfig.java index 565267bfec..036009e2ce 100644 --- a/app/src/main/java/io/apicurio/registry/auth/AuthConfig.java +++ b/app/src/main/java/io/apicurio/registry/auth/AuthConfig.java @@ -146,4 +146,12 @@ public boolean isApplicationRbacEnabled() { return this.roleBasedAuthorizationEnabled && "application".equals(getRoleSource()); } + public boolean isAnonymousReadsEnabled() { + return anonymousReadAccessEnabled.get(); + } + + public boolean isAuthenticatedReadsEnabled() { + return authenticatedReadAccessEnabled.get(); + } + } diff --git a/app/src/main/java/io/apicurio/registry/rest/v2/UsersResourceImpl.java b/app/src/main/java/io/apicurio/registry/rest/v2/UsersResourceImpl.java index 3e65669a40..2b18ca482e 100644 --- a/app/src/main/java/io/apicurio/registry/rest/v2/UsersResourceImpl.java +++ b/app/src/main/java/io/apicurio/registry/rest/v2/UsersResourceImpl.java @@ -71,13 +71,19 @@ public UserInfo getCurrentUserInfo() { info.setDeveloper(rbac.isDeveloper()); info.setViewer(rbac.isReadOnly()); } else { - info.setAdmin(false); + info.setAdmin(true); info.setDeveloper(false); info.setViewer(false); } if (authConfig.isAdminOverrideEnabled() && adminOverride.isAdmin()) { info.setAdmin(true); } + if (securityIdentity.isAnonymous() && authConfig.isAnonymousReadsEnabled()) { + info.setViewer(true); + } + if (!securityIdentity.isAnonymous() && authConfig.isAuthenticatedReadsEnabled()) { + info.setViewer(true); + } return info; }