From c669ec49d8eb0b68ae73b8a4ba83a28d94bdf028 Mon Sep 17 00:00:00 2001 From: Chris Veilleux Date: Mon, 1 Oct 2018 17:09:15 -0500 Subject: [PATCH] linked google and github login buttons to view calls --- .../auth-antisocial.component.scss | 5 +++ .../auth-social/auth-social.component.html | 6 +-- .../auth/auth-social/auth-social.component.ts | 44 ++++++++++++++++++- 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/login/frontend/v1/login-ui/src/app/auth/auth-antisocial/auth-antisocial.component.scss b/login/frontend/v1/login-ui/src/app/auth/auth-antisocial/auth-antisocial.component.scss index 9fb4d4f4..826ba607 100644 --- a/login/frontend/v1/login-ui/src/app/auth/auth-antisocial/auth-antisocial.component.scss +++ b/login/frontend/v1/login-ui/src/app/auth/auth-antisocial/auth-antisocial.component.scss @@ -25,6 +25,11 @@ form { margin-top: 30px; text-align: center; } + button:hover { + background-color: #fd8e4c; + color: #2c3e50; + } + } .mat-body-2 { diff --git a/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.html b/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.html index 17260773..43d08153 100644 --- a/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.html +++ b/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.html @@ -1,13 +1,13 @@
- - - diff --git a/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.ts b/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.ts index 0c8641e1..c15e4a2a 100644 --- a/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.ts +++ b/login/frontend/v1/login-ui/src/app/auth/auth-social/auth-social.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { faFacebook, faGithub } from '@fortawesome/free-brands-svg-icons'; +import { AuthResponse, AuthService } from "../auth.service"; @Component({ selector: 'login-auth-social', @@ -10,8 +11,49 @@ import { faFacebook, faGithub } from '@fortawesome/free-brands-svg-icons'; export class AuthSocialComponent implements OnInit { public facebookIcon = faFacebook; public githubIcon = faGithub; + public authFailed: boolean; - constructor() {} + constructor(private authService: AuthService) {} ngOnInit() { } + + authenticateFacebook(): void { + this.authService.authenticateWithFacebook().subscribe( + (response) => {this.onAuthSuccess(response)}, + (response) => {this.onAuthFailure(response)} + ); + } + + authenticateGithub(): void { + this.authService.authenticateWithGithub().subscribe( + (response) => {this.onAuthSuccess(response)}, + (response) => {this.onAuthFailure(response)} + ); + } + + authenticateGoogle(): void { + this.authService.authenticateWithGoogle().subscribe( + (response) => {this.onAuthSuccess(response)}, + (response) => {this.onAuthFailure(response)} + ); + } + + onAuthSuccess(authResponse: AuthResponse) { + this.authFailed = false; + let expirationDate = new Date(authResponse.expiration * 1000); + let domain = document.domain.replace('login.', ''); + document.cookie = 'seleneToken=' + authResponse.seleneToken + + '; expires=' + expirationDate.toUTCString() + + '; domain=' + domain; + document.cookie = 'tartarusToken=' + authResponse.tartarusToken + + '; expires=' + expirationDate.toUTCString() + + '; domain=' + domain; + window.parent.postMessage('loggedIn', '*') + } + + onAuthFailure(authorizeUserResponse) { + if (authorizeUserResponse.status === 401) { + this.authFailed = true; + } + } }