Requisitos mínimos:
Inciando seu projeto:
1 – Criar uma pasta com o nome do projeto exemplo:
mkdir starter-node-auth
2 – Dentro da pasta, vamos iniciar um novo projeto:
npm init
Obs.: ao iniciar o comando npm init, o terminal irá requisitar várias informações como:
– package name: nome do projeto
– version: versão do projeto
– description: descrição clara sobre o projeto.
– entry point: (index.js) arquivo de entrada
– test command: comando de teste a ser executado. Deixar em branco
– git repository: repositório no git
– keywords: palavras-chave que definem o projeto.
– author: nome do autor do projeto
– license: licensa do projeto.
nenhum dos campos é obrigatório, caso não haja necessidade de informar basta pressionar a tecla `enter`.
3 – Criar o arquivo index.js
Windows: echo . > index.js Linux: touch index.js
4 – Instalar a sdk core para utilizar o serviço de autenticação:
Este comando irá instalar a última versão do senior-core no projeto e referenciar para ser usado como dependência do mesmo.
npm i --save @seniorsistemas/senior-core
5 – Autenticando-se na plataforma:
- Vamos começar abrindo o arquivo index.js no Visual Studio Code: File > Open Folder > pasta do projeto.
- Após abrir o arquivo index.js, precisamos importar a lib de api:
index.js:
const SeniorApi = require('@seniorsistemas/senior-core/dist/lib/SeniorApi');
6 – Após isso para facilitar os testes vamos criar uma função para requisitar ao cliente o usuário e a senha:
index.js:
... // readline ja é uma biblioteca própria do node, // não é necessário utilizar o npm install. const readline = require('readline'); function askQuestion(query){ const rl = readline.createInterface({ input: process.stdin, output: process.stdout }) return new Promise(resolve => rl.question(query, ans =>{ rl.close(); resolve(ans); })) } ...
7 – Agora está tudo pronto para realizarmos a chamada de login para a plataforma:
index.js:
... async function init() { // Vamos utilizar a função criada anteriormente para requisitar os dados de login via shell. const user = await askQuestion("Informe o usuário: "); const password = await askQuestion("Informe a senha: "); //Referência SeniorApi para ajuste de ambiente var seniorApi = new SeniorApi(); //Descomentar linha abaixo caso queira realizar autenticação em Produção //seniorApi.environment = "PROD"; // Instanciando a api de autenticação. const authenticationApi = seniorApi.authentication; // Realizando o request de login. const result = await authenticationApi.login(user, password); console.log(result); } init(); ...
8 – Para executar o arquivo index.js basta somente executar o seguinte comando:
node .\index.js
O seguinte cenário deve acontecer:
Informe a senha: senha
{
statusCode: 200,
body: {
jsonToken: '{"scope":"scope","expires_in":604800,"username":"nomeDoUsuario","token_type":"Bearer","access_token":"token","refresh_token":"refresh_token"}'
}
}
Para mais informações, consultar a API e a documentação
O código-fonte da SDK é open-source e está disponível em:
https://github.com/dev-senior-com-br/senior-core-node