Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
bb43fbb
feat: cria versão inicial do script de embedded para o serviço de aut…
franciscoemanuel-clk Jan 21, 2026
2f7a596
chore: atualiza readme
franciscoemanuel-clk Jan 21, 2026
6a99f78
feat: adiciona suporte para locale configurável
bob-clk Feb 12, 2026
073722d
spec: create base tests
bob-clk Feb 13, 2026
4de4e0e
feat: adiciona opção de locale
bob-clk Feb 14, 2026
e27e967
refac: substitui jest por vitest
bob-clk Feb 14, 2026
876ca10
feat: configura vitest global no eslintrc
bob-clk Feb 14, 2026
17ccf88
refac: renomeia pasta para verify
bob-clk Feb 14, 2026
e32a154
deps: fix esbuild
bob-clk Feb 14, 2026
6e6458a
fix: remove babel.config.js
bob-clk Feb 14, 2026
efe6447
fix: remove arquivo compilado
bob-clk Feb 14, 2026
24fe764
refac: substitui yarn por pnpm no ci
bob-clk Feb 14, 2026
822685c
refac: renomeia id do container e revisa testes de checagem de atribu…
bob-clk Feb 14, 2026
950735d
feat: adiciona novo queryParam com valor base64 contendo configuraçõe…
bob-clk Feb 14, 2026
5c609d7
feat: adiciona cenário de verificação do valor vaziona instancia
bob-clk Feb 14, 2026
fef28e0
Merge branch 'feature/CLKF-87' of github.com:clicksign/embedded into …
bob-clk Feb 14, 2026
93dd08d
refac: substitui abstração de brand para custom
bob-clk Feb 14, 2026
8f39547
spec: corrige cenários de customização
bob-clk Feb 14, 2026
e88e4f4
refac: move pacotes da widget (v1 e v2) para pasta widget
bob-clk Feb 19, 2026
6348876
fix: adiciona prefixo app no path e renomeia sessions para transactions
bob-clk Feb 19, 2026
ec011b1
fix: corrige path nos cenarios de teste
bob-clk Feb 19, 2026
e88eb33
refac: otimiza arquivos de workflows
bob-clk Feb 19, 2026
5a3367f
refac: renomeia classe pra ClicksignVerify
bob-clk Feb 19, 2026
797dda6
feat(packages): migrar v1 e v2 de Yarn para pnpm
bob-clk Feb 26, 2026
48633c4
ci(workflows): usar pnpm nos workflows de lint e testes
bob-clk Feb 26, 2026
e93bea1
Revert "refac: move pacotes da widget (v1 e v2) para pasta widget"
bob-clk Feb 27, 2026
6b73ca7
fix(workflows): corrige chave do output do pnpm store path
bob-clk Feb 27, 2026
b23b769
Merge branch 'feature/VRF-82' of github.com:clicksign/embedded into f…
bob-clk Feb 27, 2026
0a08437
Merge branch 'feature/VRF-82' of github.com:clicksign/embedded into f…
bob-clk Feb 27, 2026
3e0d778
chore: remove atributo packageManager duplicado dos package.json
bob-clk Feb 27, 2026
32f320f
Merge branch 'main' of github.com:clicksign/embedded into feature/CLK…
bob-clk Mar 3, 2026
9fea252
Merge branch 'main' of github.com:clicksign/embedded into feature/CLK…
bob-clk Mar 3, 2026
f83d81c
Merge branch 'feature/CLKF-54' of github.com:clicksign/embedded into …
franciscoemanuel-clk Mar 3, 2026
0bab54f
Merge pull request #151 from clicksign/feature/CLKF-87
bob-clk Mar 3, 2026
8419cb2
Merge branch 'feature/CLKF-54' of github.com:clicksign/embedded into …
bob-clk Mar 3, 2026
7250494
refactor: renomeia AuthSession para ClicksignVerify
bob-clk Mar 3, 2026
319c288
Merge pull request #152 from clicksign/feature/CLKF-86
bob-clk Mar 3, 2026
c12ee7c
feat: Cria package v3-beta para o uso do Verify
franciscoemanuel-clk Mar 3, 2026
71e8fc3
refactor: remove referência não usada
franciscoemanuel-clk Mar 3, 2026
f88ccdc
feat: ajusta basePath para uso local
franciscoemanuel-clk Mar 4, 2026
b2fbcf3
Merge branch 'main' of github.com:clicksign/embedded into feature/CLK…
franciscoemanuel-clk Mar 4, 2026
1ca6bed
fix: ajusta verificação de localhost
franciscoemanuel-clk Mar 4, 2026
9b9bb15
refactor: remove export duplicado em packages v3
franciscoemanuel-clk Mar 4, 2026
1250e38
fix: protocolo como repetição do caracter :
franciscoemanuel-clk Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ jobs:
- name: v2
path: packages/v2
lockfile: packages/v2/pnpm-lock.yaml
- name: v3
path: packages/v3
lockfile: packages/v3/pnpm-lock.yaml
steps:
- name: Checkout Code
uses: actions/checkout@v6
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ jobs:
- name: v2
path: packages/v2
lockfile: packages/v2/pnpm-lock.yaml
- name: v3
path: packages/v3
lockfile: packages/v3/pnpm-lock.yaml
steps:
- name: Checkout Code
uses: actions/checkout@v6
Expand Down
136 changes: 133 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,141 @@ Para desmontar o `iframe` da DOM:
widget.unmount();
```

### Autenticações (`v3-beta`)

Para criar o componente de autenticação:

```javascript
import Verify from '@clicksign/embedded/v3/verify';

const transaction = new Verify('d973213c-6411-11e8-8df5-7cd1c3e91b23');

transaction.on('loaded', ev => { console.log(ev); })
transaction.on('success', ev => { console.log(ev); })
transaction.on('failed', ev => { console.log(ev); })
transaction.on('error', ev => { console.log(ev); })

transaction.start('container-id');
```

O construtor de `Verify` aceita um segundo parâmetro (`options`) com:

- `locale` (padrão: `'pt-br'`; aceitos: `en-us` | `pt-br` | `es-mx`)
- `custom` (padrão: `null`)

Parâmetros aceitos em `custom`:

- `colors.buttonTextColor`: `string` (cor em HEX, ex: `#ffffff`)
- `colors.buttonBackgroundColor`: `string` (cor em HEX, ex: `#000000`)

Schema de `custom`:

```javascript
{
colors: {
buttonTextColor: string, // ex: '#ffffff'
buttonBackgroundColor: string // ex: '#000000'
}
}
```

Exemplo com `locale` e `custom`:

```javascript
const transaction = new Verify('d973213c-6411-11e8-8df5-7cd1c3e91b23', {
locale: 'en-US',
custom: {
colors: {
buttonTextColor: '#ffffff',
buttonBackgroundColor: '#000000'
}
}
});
```

#### Eventos `success` e `failed`

Os eventos `success` e `failed` retornam um JWT (string).

Exemplo do evento `success` (JWT decodificado):

```javascript
{
authentication: 'Liveness',
evidences: [
{
url: 'http://.../verify-evidences/evidences/2026/02/26/e3da3762-4c50-4b60-9396-c8df15dc4619.png'
}
],
exp: 1772139169,
iat: 1772135569,
is_valid: true,
transaction: {
id: '72849611-079a-40e1-b92e-2a89f4148d6a',
state: 'succeed'
}
}
```

Exemplo do evento `failed` (JWT decodificado):

```javascript
{
authentication: 'Liveness',
evidences: [
{
url: 'http://.../verify-evidences/evidences/2026/02/26/e3da3762-4c50-4b60-9396-c8df15dc4619.png'
}
],
exp: 1772139169,
iat: 1772135569,
is_valid: false,
transaction: {
id: '72849611-079a-40e1-b92e-2a89f4148d6a',
state: 'failed'
}
}
```

#### Evento `error`

O evento `error` retorna detalhes de falha durante a autenticação:

```javascript
{
code: 'CameraPermissionDenied' | 'LivenessError',
details: {
message: string
}
}
```

Exemplo:

```javascript
{
code: 'CameraPermissionDenied',
details: {
message: 'Usuário negou acesso à câmera'
}
}
```

Para desmontar o `iframe` da DOM:

```javascript
transaction.unmount();
```

## Como contribuir

Os testes estão escritos utilizando Jasmine Browser e estão automatizados pelo
Gulp. Basta instalar as dependências com `npm install` e `gulp` para testar e
`gulp build` para compilar.
Instale as dependencias com `pnpm install`.

Builds disponiveis:

- `pnpm run build:v1`
- `pnpm run build:v2`
- `pnpm run build:v3`

## Suporte

Expand Down
Empty file added build/v3/.keep
Empty file.
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@
"engines": {
"node": "^18.18.0"
},
"packageManager": "pnpm@10.29.3",
"devDependencies": {
"esbuild": "^0.27.3"
},
"scripts": {
"build:v1": "esbuild packages/v1/src/embedded.js --minify --outdir=build",
"build:v2": "esbuild packages/v2/index.js --bundle --sourcemap --minify --keep-names --target=safari15 --outfile=build/v2/embedded.js"
"build:v2": "esbuild packages/v2/index.js --bundle --sourcemap --minify --keep-names --target=safari15 --outfile=build/v2/embedded.js",
"build:v3:sign": "esbuild packages/v3/index.js --bundle --sourcemap --minify --keep-names --target=safari15 --outfile=build/v3/embedded.js",
"build:v3:verify": "esbuild packages/v3/verify.js --bundle --sourcemap --minify --keep-names --target=safari15 --outfile=build/v3/verify.js",
"build:v3": "pnpm run build:v3:sign && pnpm run build:v3:verify"
},
"repository": {
"type": "git",
Expand Down
41 changes: 41 additions & 0 deletions packages/v3/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
'eslint:recommended',
'airbnb-base',
],
overrides: [
{
env: {
node: true,
},
files: ['.eslintrc.{js,cjs}'],
parserOptions: {
sourceType: 'script',
},
},
{
files: ['src/**/*.spec.js'],
globals: {
describe: 'readonly',
it: 'readonly',
test: 'readonly',
expect: 'readonly',
beforeEach: 'readonly',
afterEach: 'readonly',
beforeAll: 'readonly',
afterAll: 'readonly',
vi: 'readonly',
},
},
],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {},
plugins: ['vitest'],
};
5 changes: 5 additions & 0 deletions packages/v3/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import Clicksign from './src/signature/embedded';

globalThis.Clicksign = Clicksign;

export default Clicksign;
22 changes: 22 additions & 0 deletions packages/v3/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "@clicksign/embedded",
"license": "MIT",
"version": "3.0.0",
"engines": {
"node": "^18.18.0"
},
"packageManager": "pnpm@10.29.3",
"main": "index.js",
"scripts": {
"test": "vitest run --config vitest.config.mjs",
"lint": "eslint \"src/**/*.js\""
},
"devDependencies": {
"eslint": "^8.57.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-vitest": "^0.5.4",
"jsdom": "^26.1.0",
"vitest": "^2.1.9"
}
}
Loading