67 lines
2.3 KiB
TypeScript
67 lines
2.3 KiB
TypeScript
import { Component, OnInit, NgZone } from '@angular/core';
|
|
import {GoogleSignInSuccess} from 'angular-google-signin';
|
|
import { Router, ActivatedRoute } from '@angular/router';
|
|
import { TokenService, TokenProvider } from '../services/token.service';
|
|
|
|
@Component({
|
|
selector: 'login-page',
|
|
templateUrl: './login-page.html',
|
|
providers: []
|
|
})
|
|
export class LoginComponent implements OnInit{
|
|
returnUrl: string;
|
|
|
|
|
|
constructor(
|
|
private route: ActivatedRoute,
|
|
private router: Router,
|
|
private ngZone: NgZone,
|
|
private tokenService : TokenService
|
|
){
|
|
|
|
}
|
|
|
|
ngOnInit() {
|
|
// reset login status
|
|
//this.authenticationService.logout();
|
|
|
|
// get return url from route parameters or default to '/'
|
|
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
|
|
}
|
|
private myClientId: string = '524432312250-vhgidft856v8qftsc81kls4c74v87d8o.apps.googleusercontent.com';
|
|
|
|
onGoogleSignInSuccess(event: GoogleSignInSuccess) {
|
|
let googleUser: gapi.auth2.GoogleUser = event.googleUser;
|
|
let id: string = googleUser.getId();
|
|
let profile: gapi.auth2.BasicProfile = googleUser.getBasicProfile();
|
|
this.tokenService.setToken(googleUser.getAuthResponse().id_token);
|
|
|
|
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
|
|
console.log('Name: ' + profile.getName());
|
|
console.log('token: ' + this.tokenService.getToken());
|
|
|
|
this.tokenService.setProvider(TokenProvider.google);
|
|
this.tokenService.setLoggedIn(true);
|
|
this.tokenService.setEmail(profile.getEmail());
|
|
this.tokenService.setUsername(profile.getName());
|
|
|
|
localStorage.setItem('currentUser', this.tokenService.getToken());
|
|
/* AYTA FEYGOUN, xanontai me to refresh tis selidas
|
|
|
|
localStorage.setItem('currentUser', JSON.stringify(googleUser));
|
|
var currentUser = JSON.parse(localStorage.getItem('currentUser'));
|
|
console.log('current user local storage:' +currentUser)
|
|
*/
|
|
|
|
// STO LOGOUT, KATHARIZEIS TO tokenService (apo opoudipote... e;inai apo pantou prosvasimo, kai den xanei tis times toy oso exeis to browser anoixto.)
|
|
|
|
|
|
|
|
|
|
//this.router.navigateByUrl('dynamic-form');
|
|
this.ngZone.run(() => this.router.navigateByUrl('projects'));
|
|
//this.router.navigate(['/projects']);
|
|
}
|
|
|
|
}
|