code: @Override
      protected UserProfile extractUserProfile(final String body) {
          GlobusProfile profile = new GlobusProfile();
          JsonNode json = JsonHelper.getFirstNode(body);
          if (json != null) {
              String username = JsonHelper.get(json, GlobusAttributesDefinition.USERNAME).toString();
              if (LEGACY_USERNAMES) {
                  username = username.split("@")[0];
              }
              profile.setId(username);
              profile.addAttribute(EurekaAttributesDefinition.USERNAME, username);
              profile.addAttribute(EurekaAttributesDefinition.FULLNAME, JsonHelper.get(json, GlobusAttributesDefinition.FULLNAME));
              profile.addAttribute(EurekaAttributesDefinition.EMAIL, JsonHelper.get(json, GlobusAttributesDefinition.EMAIL));
          }
          return profile;
      }
docs: Returns the user's profile using the attributes that Eureka! Clinical
  expects. If the system property
  <code>scribeupext.globus.legacyUsernames</code> is set and has value
  <code>true</code> (case-insensitive), this method will omit the
  <code>@globusid.org</code> suffix when extracting the user's username.
  
  @param body the JSON response from the user profile request.
  
  @return the user's profile.