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
text/typescript
import { Injectable, Inject } from '@angular/core';
import { CookieService } from '../cookieService/cookie.service';
import { ModuleOptions } from '../moduleoptions/moduleoptions.service';
()
export class SocialConnector {
constructor((CookieService) private cookie: CookieService,
(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;
}
}
}