APIs

Realizando a autenticação da plataforma via node

251 views 19/03/2020 24/06/2020 alexander-dorow-2 1

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 o usuário: nomeDoUsuário
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

Este artigo foi útil para você?