From 1b3265f02deea92b3d14bf9fec42000f26cc9ea3 Mon Sep 17 00:00:00 2001 From: z0rb3 Date: Tue, 11 Aug 2020 12:08:15 +0100 Subject: [PATCH] =?UTF-8?q?Autentica=C3=A7=C3=A3o=20com=20Basic=20Auth=20n?= =?UTF-8?q?a=20classe=20authservice=20no=20m=C3=A9todo=20login().?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 31 ++++++++++++++++++++ package.json | 1 + src/app/pages/login/login.page.html | 2 +- src/app/services/auth.service.ts | 45 ++++++++++++++++++++++++----- 4 files changed, 71 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 269e1005c..7c1009e4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3461,6 +3461,37 @@ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", "dev": true }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, "axobject-query": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", diff --git a/package.json b/package.json index 33826903d..213d63b60 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@ionic-native/status-bar": "^5.0.0", "@ionic/angular": "^5.0.0", "@logisticinfotech/ionic4-datepicker": "^1.4.4", + "axios": "^0.19.2", "capacitor-datepicker": "0.0.2", "moment": "^2.27.0", "rxjs": "~6.5.1", diff --git a/src/app/pages/login/login.page.html b/src/app/pages/login/login.page.html index 811842613..72278d38f 100644 --- a/src/app/pages/login/login.page.html +++ b/src/app/pages/login/login.page.html @@ -17,7 +17,7 @@ - Entrar + Entrar diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index d421c24e9..e4ede12bd 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -4,6 +4,7 @@ import { HttpService } from './http.service'; import { Router } from '@angular/router'; import { Observable } from 'rxjs'; import { AuthConnstants } from '../config/auth-constants'; +import axios from "axios"; @Injectable({ providedIn: 'root' @@ -16,15 +17,45 @@ export class AuthService { private router: Router ) { } - /* login(postData: any): Observable { - return this.httpService.post('login', postData); - } + async login(postData: any): Promise { - signup(postData: any): Observable { - return this.httpService.post('signup', postData); - } + var session_url = 'https://gpr-dev-08.gabinetedigital.local/api/v2.0/me'; + var credentials = btoa(postData.domainName + '\\' + postData.username + ':' + postData.password); //conversão em base64 das credenciais inseridas + var statusresult = -1; - logout(){ + //configuração dos headers para autênticação básica, passando as credenciais convertidas em base64 + var config = { + headers: { + 'Authorization': 'Basic ' + credentials, + }, + }; + + await axios.get(session_url, config) + .then(function (response) { + statusresult = response.status; + }) + .catch(function (error) { + if (error.response) { + statusresult = error.response.status; + } + }); + + if (statusresult == 200) + { + return true; + } + else + if (statusresult == 401) + { + return false; + } + else + { + return false; + } + } + + /* logout(){ this.storageService.removeStorageItem(AuthConnstants.AUTH).then(res =>{ this.router.navigate(['']) })