コード例 #1
0
  @DELETE
  @Path("/{logout}/{email}")
  public void removerToken(
      @PathParam("logout") String logout, @PathParam("email") String email, String json) {
    try {
      Usuario usuario = usuarioSevice.findByEmail(email);
      if (usuario != null) {
        JSONObject jsonObject = new JSONObject(json);

        if (logout.equalsIgnoreCase("logout")) {
          Token token = new Token();
          configurarToken(token, usuario, jsonObject);

          Token tokenPesquisado =
              tokenGeneratorService.findByApiKeyAndUsuarioId(token.getApiKey(), usuario.getId());
          if (tokenPesquisado != null) {
            tokenGeneratorService.delete(tokenPesquisado);
          }
        } else if (logout.equalsIgnoreCase("logoutAll")) {
          tokenGeneratorService.deleteAllByUsuario(usuario);
        }
      } else {
        // TODO Saber qual mensagem passar para o usuário
      }
    } catch (ServiceException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
コード例 #2
0
  @POST
  @Path("{token}")
  @Produces(MediaType.APPLICATION_JSON)
  @Consumes(MediaType.APPLICATION_JSON)
  public String gerarToken(@PathParam("token") Long id, String json) {
    String retorno = BLANK_RETURN;
    Token token = null;
    try {
      Usuario usuario = usuarioSevice.findByCodigo(id);
      if (usuario != null) {
        token = tokenGeneratorService.findByUsuarioId(id);

        Gson gson = new GsonBuilder().setExclusionStrategies(new TokenExclusionStrategy()).create();

        if (token != null) {
          retorno = gson.toJson(token);
        } else {
          JSONObject jsonObject = new JSONObject(json);
          configurarUsuario(usuario, jsonObject);

          token = tokenGeneratorService.create(usuario);
          retorno = gson.toJson(token);
        }
      } else {
        // TODO Saber qual a mensagem enviar para o cliente
      }
    } catch (ServiceException e) {
      // TODO Saber qual mensagem passar para o usuário
    } catch (Exception e) {
      // TODO Saber qual mensagem passar para o usuário
    }
    return retorno;
  }