UNPKG

innotec-auth-plugin

Version:

The Innotec-Auth-Plugin is designed to handle all authentication processes for applications where's conntected to the innotec v2 infrastructure. Theses plugin provides different authentication processes:

55 lines (40 loc) 1.77 kB
import { Injectable, Inject } from '@angular/core'; import { CookieService } from '../cookieService/cookie.service'; import { ModuleOptions } from '../moduleoptions/moduleoptions.service'; @Injectable() export class SocialConnector { constructor(@Inject(CookieService) private cookie: CookieService, @Inject(ModuleOptions) private options: ModuleOptions) {} public login_Facebook() { let client_id = this.options.get().facebook_clientid; let redirect_uri = this.options.get().redirect_uri; localStorage.setItem('return', 'facebook'); window.location.href = 'https://www.facebook.com/v2.8/dialog/oauth?client_id=' + client_id + '&redirect_uri=' + redirect_uri + '&scope=email' } public login_Google() { let client_id = this.options.get().google_clientid; let redirect_uri = this.options.get().redirect_uri; window.location.href = 'https://accounts.google.com/o/oauth2/v2/auth?response_type=code&client_id=' + client_id + '&redirect_uri=' + redirect_uri + '&scope=email%20profile'; localStorage.setItem('return', 'google'); } public login_PayPal() { let client_id = this.options.get().paypal_clientid; let redirect_uri = this.options.get().redirect_uri; window.location.href = 'https://www.paypal.com/signin/authorize?response_type=code&client_id=' + client_id + '&redirect_uri=' + redirect_uri + '&scope=profile+email+address'; localStorage.setItem('return', 'paypal'); } public reLogin(logininfo) { this.cookie.delete('InnotecApp'); switch (logininfo.social) { case 'facebook': this.login_Facebook(); break; case 'google': this.login_Google(); break; case 'paypal': this.login_PayPal(); break; } } }