Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@ministerjs/auth

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ministerjs/auth

Classe para gerenciar autenticação de usuários em aplicações Vue.

latest
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

@ministerjs/auth

Classe para gerenciar autenticação de usuários em aplicações Vue.

Instalação

pnpm add @ministerjs/auth

Importação

import { Auth } from "@ministerjs/auth/Auth";

Exemplo de Uso

import { Auth } from "@ministerjs/auth/Auth";

const auth = new Auth({
  fetch: window.fetch.bind(window),
  mapUser: (user) => {
    // Transformar ou filtrar dados do usuário antes de salvar
    return {
      ...user,
      fullName: `${user.firstName} ${user.lastName}`,
    };
  },
  routes: {
    login: "/api/login",
    checkIn: "/api/checkin",
    logout: "/api/logout",
  },
  afterLogout: () => {
    // Ações após fazer logout
    console.log("Usuário deslogado!");
  },
  afterCheckIn: (result) => {
    // Ações após verificação do estado de login
    console.log("CheckIn foi bem-sucedido?", result);
  },
});

Atributos Importantes

  • auth.user: contém os dados do usuário autenticado (ou null se não autenticado).
  • auth.on: booleano que indica se o usuário está logado (true/false).
  • auth.loading: booleano que indica se há uma operação de login, checkIn ou logout em andamento.
  • auth.checkedIn: booleano que indica se o checkIn() já foi executado.

Métodos

login(payload: Record<string, any>)

  • Faz a chamada de login para a rota configurada em routes.login.
  • Ao receber resposta:
    • Define auth.on como true.
    • Armazena o usuário em auth.user.
    • Define auth.loading como false.

Exemplo:

await auth.login({ username: "john", password: "1234" });
console.log(auth.user.value); // Dados do usuário logado

checkIn()

  • Verifica se o usuário já está autenticado (ex.: mantém a sessão em abas novas).
  • Atualiza auth.user e auth.on conforme o resultado.
  • Chama o callback afterCheckIn(true|false) dependendo do sucesso ou falha na verificação.
  • Atualiza auth.checkedIn para true quando finaliza.

Exemplo:

await auth.checkIn();
console.log(auth.on.value);         // true ou false
console.log(auth.checkedIn.value);  // true

logout()

  • Faz a chamada de logout para a rota configurada em routes.logout.
  • Define auth.on como false, limpa auth.user e chama afterLogout() após concluir.

Exemplo:

await auth.logout();
console.log(auth.on.value); // false
console.log(auth.user.value); // null

Opções do Construtor

  • fetch: Fetch
    Instância de Fetch responsável pelas requisições HTTP.

  • mapUser?: (user: User) => User
    Callback para ajustar dados do usuário antes de armazenar em auth.user.

  • routes?: { login?: string; checkIn?: string; logout?: string; }
    Rotas customizadas para as operações de login, checkIn e logout.

  • afterLogout?: () => void | Promise<void>
    Executado logo após o logout.

  • afterCheckIn?: (result: boolean) => void | Promise<void>
    Executado após a tentativa de checkIn, recebendo true ou false como resultado.

Rotas do Backend

Para que a classe Auth funcione corretamente, o backend deve expor as rotas (por padrão: /api/login, /api/checkin, /api/logout).

  • Login: recebe as credenciais no corpo da requisição, valida e retorna { message, data }.
  • CheckIn: verifica a sessão e retorna { message, data } se o usuário estiver autenticado, ou algum erro/status caso não esteja.
  • Logout: invalida a sessão/tokens e retorna { message }.

FAQs

Package last updated on 23 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts