Skip to content

Começar

Requisitos

  • Node.js 20 ou superior

Instalação

npm install agent-passport

As três primitivas

  1. Identidade — cada agente e operador tem um did:key.
  2. Passaporte — o operador emite uma credencial com scopes ao agente.
  3. Ação — o agente assina cada ação; os verificadores validam quem a fez.
import {
  createIdentity, issuePassport, verifyPassport, assertScope,
  signAction, verifyAction,
} from 'agent-passport';

const operador = createIdentity();
const agente = createIdentity();

const passportJwt = await issuePassport({
  operator: operador, agentDid: agente.did, name: 'support-bot',
  scopes: ['email:send'], expiresIn: 86400,
});

const passport = await verifyPassport(passportJwt);
assertScope(passport, 'email:send');

const actionJwt = await signAction(agente, { type: 'email:send', target: 'a@b.com' });
const feito = await verifyAction(actionJwt);

Persistir uma identidade

createIdentity() devolve uma privateKey de 32 bytes. Guarda-a de forma segura (KMS, segredo cifrado) e recria o mesmo DID mais tarde:

const agente = createIdentity(privateKeyGuardada); // sempre o mesmo DID

Correr a partir do código

git clone https://github.com/marcelogdomingues/agent-passport
cd agent-passport
npm install
npm run demo
npm test