---
title: "Projeto de exemplos em Node.js SPA"
description: "Projeto de exemplos em Node.js SPA que usa o Rest PKI com o Web PKI como Single Page Application, com AngularJS no frontend, e como executá-lo."
canonical: "https://docs.lacunasoftware.com/articles/rest-pki/nodejs/spa"
locale: "pt-BR"
product: "Rest PKI (legado)"
last_updated: "2026-10-12"
---

# Projeto de exemplos em Node.js SPA

O **Projeto de exemplos em Node.js SPA** mostra como usar o [Rest PKI](https://docs.lacunasoftware.com/articles/rest-pki) junto com o [Web PKI](https://docs.lacunasoftware.com/articles/web-pki)
em um projeto Node.js que segue o padrão Single Page Application (SPA), com [AngularJS](https://angularjs.org/) no frontend.
Ele está hospedado no GitHub em:

https://github.com/LacunaSoftware/RestPkiSamples/tree/master/NodeJS/angular-spa

## Executando o projeto

1. [Baixe o projeto](https://github.com/LacunaSoftware/RestPkiSamples/archive/master.zip) ou clone o [repositório](https://github.com/LacunaSoftware/RestPkiSamples.git)
1. Gere um token de acesso à API no [site do REST PKI](https://pki.rest/)
1. Cole o seu token de acesso no arquivo [restpki-client.js](https://github.com/LacunaSoftware/RestPkiSamples/blob/master/NodeJS/angular-spa/restpki-client.js)
1. Instale as dependências: `npm install`
1. Execute a aplicação: `npm start`
1. Acesse o URL [http://localhost:3000](http://localhost:3000)

## Mapa do projeto

Esta seção indica onde encontrar as partes relevantes de cada exemplo de funcionalidade deste projeto.

### Autenticação com certificado digital

* API: [app.js](https://github.com/LacunaSoftware/RestPkiSamples/blob/master/NodeJS/angular-spa/app.js)
* Controller da SPA: [authentication.js](https://github.com/LacunaSoftware/RestPkiSamples/blob/master/NodeJS/angular-spa/webapp/js/controllers/authentication.js)
* Template da SPA: [authentication.html](https://github.com/LacunaSoftware/RestPkiSamples/blob/master/CSharp/AspNetCore/CoreWebApp/wwwroot/views/authentication.html)

### Assinatura PAdES com arquivo já no servidor

* API: [app.js](https://github.com/LacunaSoftware/RestPkiSamples/blob/master/NodeJS/angular-spa/app.js)
* Controller da SPA: [pades-signature.js](https://github.com/LacunaSoftware/RestPkiSamples/blob/master/NodeJS/angular-spa/webapp/js/controllers/pades-signature.js)
* Template da SPA: [pades-signature.html](https://github.com/LacunaSoftware/RestPkiSamples/blob/master/NodeJS/angular-spa/webapp/views/pades-signature.html)

### Assinatura PAdES com arquivo enviado pelo usuário

Ainda não disponível neste projeto.

### Assinatura conjunta PAdES

Ainda não disponível neste projeto.

### Marcas PAdES

Ainda não disponível neste projeto.

### Assinatura PAdES usando chave do servidor

Ainda não disponível neste projeto.

### Assinatura PAdES sem comunicação com o cliente

Ainda não disponível neste projeto.

### Abrir/validar uma assinatura PAdES existente

Ainda não disponível neste projeto.

### Versão para impressão

Ainda não disponível neste projeto.

### Assinatura CAdES com arquivo já no servidor

Ainda não disponível neste projeto.

### Assinatura CAdES com arquivo enviado pelo usuário

Ainda não disponível neste projeto.

### Assinatura conjunta CAdES

Ainda não disponível neste projeto.

### Assinatura CAdES usando chave do servidor

Ainda não disponível neste projeto.

### Abrir/validar uma assinatura CAdES existente

Ainda não disponível neste projeto.

### Assinatura XML do documento inteiro

Ainda não disponível neste projeto.

### Assinatura XML de um elemento

Ainda não disponível neste projeto.

### Assinatura XAdES de um elemento

Ainda não disponível neste projeto.

### Abrir/validar assinaturas de um arquivo XML existente

Ainda não disponível neste projeto.

### Lote de assinaturas PAdES

Ainda não disponível neste projeto.

### Lote otimizado de assinaturas PAdES

Ainda não disponível neste projeto.

### Lote de assinaturas CAdES

Ainda não disponível neste projeto.

### Lote de assinaturas XML de elementos do mesmo documento

Ainda não disponível neste projeto.
