@WriteOperation
    @Operation(summary = "Get collection of released attributes for the user and application",
        parameters = {
            @Parameter(name = "username", required = true, description = "The username to authenticate"),
            @Parameter(name = "password", required = false, description = "The password to authenticate"),
            @Parameter(name = "service", required = true, description = "May be the service id or its numeric identifier")
        })
    public Map<String, Object> releaseAttributes(final String username, @Nullable final String password,
                                                 final String service) throws Throwable {
        val map = releasePrincipalAttributes(username, password, service);
        val assertion = (ImmutableAssertion) map.get("assertion");
        return Map.of("username", username, "attributes", assertion.getPrimaryAuthentication().getPrincipal().getAttributes());
    }
Method that accepts a JSON body through a POST method to receive user credentials and only returns a
map of attributes released for the authenticated user.

@param username - the username
@param password - the password; this may be optional.
@param service  - the service id
@return - the map
@throws Throwable the throwable
support/cas-server-support-reports-core/src/main/java/org/apereo/cas/web/report/CasReleaseAttributesReportEndpoint.java