code: @POST
    @Path("revoke")
    @Consumes(MediaType.APPLICATION_JSON)
    public Response revoke(RevocationRequest revocationRequest) {
      // Perform all validation here to control the exact error message returned to comply with the Oauth2 standard
  
      String token = revocationRequest.getToken();
      String tokenHint = revocationRequest.getToken_type_hint();
  
      if (null != token) {
        // Start with the token type hint but always widen the scope if not found
        if (null == tokenHint || "access_token".equals(tokenHint)) {
          if (!revokeAccessToken(token)) {
            revokeRefreshToken(token);
          }
        } else {
          if (!revokeRefreshToken(token)) {
            revokeAccessToken(token);
          }
        }
      }
  
      // Always send http 200 according to the specification
      return Response.ok().build();
    }
docs: Revoke a users access_token and refresh_token.
  https://tools.ietf.org/html/rfc7009
  
  @param revocationRequest contains either the access token or refresh token and a token type hint
  @return will always return http 200