code: public Maybe<AccessToken> isValidToken(String token) {
          return db.findAccessToken(token)
                  .flatMap(accessToken -> {
                      LOG.info("token详情:" + accessToken);
                      if (accessToken != null && accessToken.isValid()) {
                          if (accessToken.tokenExpired()) {
                              LOG.info(new JSONObject()
                                      //todo 设计一个打印type日志的Java类，将结构固定下来
                                      .fluentPut("description", "accessToken has expired, client_id= " + accessToken.getClientId())
                                      .fluentPut("accessToken", accessToken)
                                      .fluentPut("type", LogTypeOAuth20.oAuth20TokenExpired));
                              db.updateAccessTokenValidStatus(accessToken.getToken(), false).subscribe();
                              // return empty result if token expired.
                              return Maybe.empty();
                          }
                          return Maybe.just(accessToken);
                      }
                      return Maybe.empty();
                  });
      }
docs: validate the given token string
  
  @param token the token string
  @return the valid token or an empty result if token not found or token expired.